ESP8266 写FLASH 重启 Exception(0)

  • Post author:
  • Post category:其他


环境:

ESP8266, NONOS 2.2.1 ,Arduino+VSCode

现象:

通过spi_flash_erase_sector(扇区编号),

spi_flash_write(扇区编号*4096, buffer, buffer大小);

对FLASH进行擦写操作,导致异常重启,而使用

spi_flash_read(扇区编号*4096, buffer, buffer大小);时正常。

分析:

经过一系列分析后,记起一句话,


“写FLASH要关中断”


。将软硬件中断关闭后,可以正常使用Flash了。

在API中查找开关中断的函数为:

ETS_INTR_LOCK();        //关中断

ETS_INTR_UNLOCK();  //开中断

请同志们务必注意FLASH与中断的关系,不要犯此大忌讳。



版权声明:本文为c_1969原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。