本帖最后由 nicholasldf06 于 2017-12-8 18:02 编辑 以前记得擦除后是0xFF的,,今天调试发现,STM32L151调用官方库函数FLASH擦除也没有报错啊,但数据却全是0x00。。。 但是编程数据写进去是可以的,而且写数据也是正确的。。。奇怪了 翻遍了用户手册《STM32L1xxx Reference Manual.pdf》和数据手册《STM32L151x&L152x.pdf》,,, 也没有找到任何一个地方说明,,FLASH擦除后是0x00还是0xFF。。。 //Erase the sector(total 16 pages) HAL_FLASH_Unlock(); EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.PageAddress = USER_DATA_ADDRESS_SECTOR1 + (CurSector-1)*0x1000; EraseInitStruct.NbPages = 16; HAL_FLASHEx_Erase(&EraseInitStruct, &AGEError); HAL_FLASH_Lock(); 以下是FLASH数据JLINK监控截图,,写进去是对的,,而且掉电后再次上电,,数据还是在的,也是对的,,但程序运行读FLASH出来的数据,,第一次读的是对的,,后面第二次再读的数据是错的。。。 |
STM32L151RDT6 SDIO读写SD卡 FIFO下溢错误,不知是什么原因
STM32L152 RTC唤醒STOP mode问题
STM32L152系列自带LCD驱动段码液晶屏,怎么驱动想要亮的段亮
求助!!STM32L151中的RTC唤醒(wake up)中断问题
STM32L152普通I/O模拟SPI驱动W25Q16问题
STM32L152开发板原理图及说明文档
STM32L1系列,如何释放PA15为普通GPIO端口
STM32L151读取W25Q16的ID错误,请帮忙看看是什么原因
STM32L151 STOP模式唤醒程序跑哪儿了
STM32L152驱动段码LCD问题?
(1)STM32代理FAE工程师回复说,STM32L、STM8S、STM8L这几个系列的内部Flash特性就是如此,执行擦除后就是0x00,,跟以往的STM32不一样,其他擦除后的状态为0xFF;
(2)某函数存在BUG,导致第一次数据返回正确,第二次及以后数据返回出错。
评分
查看全部评分
这么奇怪?哈哈哈哈,我监控处来的都是0xFF,我用的Jlink~
您的问题解决了吗?
我用的STM32L152,遇到了同样的问题,擦除后Flash中的数据全是00。
望指教。