代码烧录后,log日志一直报这个
日志分析
- 复位原因:
rst:0x10 (RTCWDT_RTC_RESET)
表明 RTC 看门狗定时器超时导致复位。 - 启动模式:
boot:0x13 (SPI_FAST_FLASH_BOOT)
表明使用的是 SPI 快速闪存启动模式。 - 闪存读取错误:
flash read err, 1000
表明在启动过程中出现了闪存读取错误。
解决思路
这里说一下两个思路,大家都可以试一下
第一个:复制日志内容到代码中,全局搜索,
确定一下这个报错是发生在哪里,看下代码有没有,menuconfig有没有
全局搜索发现如下:
发现是使用了这个枚举RTC_WDT_STAGE_ACTION_RESET_RTC的原因,然而这个枚举是和看门狗有关(具体可查看components==》esp_hw_support==》include==》rtc_wdt.c文件),如果没有及时喂狗就会复位,然后我又找引用了看门狗文件的地方,发现程序代码中也没有应用看门狗的地方。所以这个思路不通。
第二个思路:使用乐鑫的烧录工具flash_download_tool,将例程hello_world固件 烧录到esp32中测试一下,看是否可以正常运行。烧录地址0x0。
结果如下:
这回应该是可以确定问题的原因是
- 闪存加密问题:
- 由于闪存已经加密,当前的下载操作被拒绝。然后一旦被加密,就无解了,这块板子就废了,目前我遇到的情况是这样。
- 可能是我勾选了这个配置导致的,所以一定要注意。