环境:
   
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 版权协议,转载请附上原文出处链接和本声明。
