ivtaaa 发表于 2016-4-7 16:33:23

STM32F4的写FLASH的问题,后面的块很大,我需要保存设备信息

STM32F4的FLASH前面是16K,后面是128K,我需要保存1K左右的数据,保存在128K空间太浪费了,我怎么保存在前面呢,程序应该怎么启动???

adlu 发表于 2016-4-7 17:54:48

用如下方法保存到扇区3
const unsigned char user_dat __attribute__((at(ADDR_FLASH_SECTOR_3))) ={
0
};

其中FLASH_SECTOR3_SIZE是扇区3的大小,为0x400即16k字节;
ADDR_FLASH_SECTOR_3是扇区3的起始地址,为0x0800C000。

这样,该数组就定义到了扇区3,且占用整个扇区。
在修改该数组的时候,先读出有用的数据,然后擦除整个扇区3,在将修改后的数据写入。

ivtaaa 发表于 2016-4-8 16:22:51

adlu 发表于 2016-4-7 17:54
用如下方法保存到扇区3
const unsigned char user_dat __attribute__((at(ADDR_FLASH_ ...

谢谢啦,好像可以了,验证下。
页: [1]
查看完整版本: STM32F4的写FLASH的问题,后面的块很大,我需要保存设备信息