代码烧录后,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。

结果如下:

这回应该是可以确定问题的原因是

  • 闪存加密问题
    • 由于闪存已经加密,当前的下载操作被拒绝。然后一旦被加密,就无解了,这块板子就废了,目前我遇到的情况是这样。
  • 可能是我勾选了这个配置导致的,所以一定要注意。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐