请问ESP32-C3开发板ROM里预烧录的数据有没有办法读出来

aoaomiao
Posts: 2
Joined: Mon Jul 08, 2024 7:59 am

请问ESP32-C3开发板ROM里预烧录的数据有没有办法读出来

Postby aoaomiao » Mon Jul 08, 2024 8:36 am

需求来源是学生做CPU虚拟机项目想用ESP32-C3上手练练,现在使用的是 viewtopic.php?t=21331 帖子里提到的https://dl.espressif.com/dl/esp32c3_rev3_rom.elf。
然而,这个文件略有些老,且elf文件提供了相应的信息,但是有些信息的具体使用我有所不熟。
现在的情况是,elf的<main>段,有如下序列:

Code: Untitled.c Select all


40047ef6:	ffc7a783          	lw	a5,-4(a5) # 3fcdfffc <ets_ops_table_ptr>
40047efa: 0c800513 li a0,200
40047efe: 439c lw a5,0(a5)
40047f00: 9782 jalr a5
40047f02: 473000ef jal ra,40048b74 <software_reset>
...
40047f0e: 0000 unimp
40047f10: 3fcde537 lui a0,0x3fcde
40047f14: 71850513 addi a0,a0,1816 # 3fcde718 <uart_rx_buff.5104>
当jal ra,40048b74 <software_reset>跳转的<software_reset>执行完返回的时候,会落入...对应的unimp处,然后执行失败。

请问硬件实现上这里是怎么跳转处理的?
还是说拷贝和elf本身有所修改。

Who is online

Users browsing this forum: No registered users and 1 guest