我做了一个使用esp32-wroom-32ue模块的定制板。我闪存这些家伙的方法是使用 JTAG 连接、jlink 和 openocd 脚本:
openocd -f interface/jlink.cfg -f board/esp-wroom-32.cfg -c "program_esp build/myCode.bin 0x50000"
这适用于以前通过 UART 闪存的设备。尽管如此,“开箱即用”且从未闪存过的设备在通过 JTAG 闪存时会显示出奇怪的行为。一旦设备闪烁,程序将不会运行。将 UART 插入设备并打开终端后,每秒会多次显示以下消息。
- rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
- 配置:0,SPIWP:0xee
- clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
- 模式:DIO,时钟格:2
- 加载:0x3fffeba4,长度:4
- 负载:0x4009f000,长度:3248
- 条目 0x4009f574
- �OHAI�ets 2019 年 7 月 29 日 12:21:46
使设备实际工作的唯一方法是首先通过 UART 对其进行闪存,然后 jtag 再次可用。为什么是这样?我只想直接使用 jtag 连接。