const uint16_t FlashDefValue[3] __attribute__((at(0x0800F000))) = {0x1234, 0x5678, 0xABCD};
在.C写一个上面的句子 可以放到FLASH
看图 貌似有干扰 空白的是FFFFFF才对 干干净净!
const uint16_t FlashDefValue[3] __attribute__((at(0x08020000)))
改了一下 还是一样!!看来我们分析错了!
数组后面是随机值了!
我们一页就是2K
但是你看影响范围:
你想到我昨天W25Q64的图 最小的擦除单元是4K 但是最小的写入单元是256个字节!!
所以STM32最小的写单元 看图是144呀!!!!
试试:
const uint16_t FlashDefValue[144] __attribute__((at(0x08020000))) = {0x1234, 0x5678, 0xABCD};
后面有干扰了
const uint16_t FlashDefValue[125] __attribute__((at(0x08020000))) = {0x1234, 0x5678, 0xABCD};
最新发现:
这就是结论
补充这个问题的答案:WHY多一些?
https://blog.csdn.net/sinat_23338865/article/details/51960362