yqylove 发表于 2010-3-26 12:40:27

STM32 如何将变量定义到内部flash

程序中需要将有些数组变量定义到内部的FLASH中,这些数据在程序中要进行使用。我使用的环境是IAR EWARM
请大家帮帮我

yzk376 发表于 2010-3-26 17:16:40

RE:STM32 如何将变量定义到内部flash

flash里面能是变量吗???
应该是常量。

coocku 发表于 2010-3-27 01:22:13

回复:STM32 如何将变量定义到内部flash

回复第 1 楼 yqylove于2010-03-26 04:40:27发表:
程序中需要将有些数组变量定义到内部的FLASH中,这些数据在程序中要进行使用。我使用的环境是IAR EWARM
请大家帮帮我
 
 

数组变量定义到内部的FLASH中,是不是说有些数据,经常要用而且会更新?这样操作会减少芯片flash的寿命而且CPU会很累,虽然有DMA。如果只是玩玩无所谓,可试试,但要做项目是不行的。最好的做法是用电池做后备电源,数组放RAM里,一段时间后把它存到flash里,每个时间段更新一次。在系统突然掉电后由后备电池供电,处理好必要的数据后再关断电源。用一个IO口控制一个MOS管来管理电源和电池之间的切换,类例的电源管理芯片很多,而且多数是和狗集成在一起。如max706

dzguang 发表于 2012-4-25 15:43:07

RE:STM32 如何将变量定义到内部flash

flash中常量:定义方式是
int a __attribute__(("at(0x0800FC00)"));
则a被定义到0x0800FC00位置上。
变量的方法也可以这么定义,但是修改值是比较麻烦的,你需要先擦除这一页,然后再写入!
 
页: [1]
查看完整版本: STM32 如何将变量定义到内部flash