请问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>段,有如下序列:
  1. 40047ef6:   ffc7a783            lw  a5,-4(a5) # 3fcdfffc <ets_ops_table_ptr>
  2. 40047efa:   0c800513            li  a0,200
  3. 40047efe:   439c                    lw  a5,0(a5)
  4. 40047f00:   9782                    jalr    a5
  5. 40047f02:   473000ef            jal ra,40048b74 <software_reset>
  6.     ...
  7. 40047f0e:   0000                    unimp
  8. 40047f10:   3fcde537            lui a0,0x3fcde
  9. 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 58 guests