用Flash保存设置的数据,如何知道未用Flash

[复制链接]
3487|12
 楼主| xiepengchenghn 发表于 2010-10-10 09:52 | 显示全部楼层 |阅读模式
小弟用STM32做一光源控制器,其中一些相关的设置,希望能保存到Flash中,在下次开机的时候能够直接读取出来,省去重新设置的麻烦。
在保存数据的时候,我如何确定要保存到Flash的哪个地址?哪些地址是没有被代码使用到的?
代码是如何被存放到Flash中的?是不是每次烧写代码存放的地址都相同?
谢谢各位
hgjinwei 发表于 2010-10-10 17:32 | 显示全部楼层
const uint8 config_data[size];
shagua0916 发表于 2010-10-11 14:35 | 显示全部楼层
从下向中长的,比如你说代码64K,那64K以上地方你用可以用来存你自己的东西了
香水城 发表于 2010-10-11 18:53 | 显示全部楼层
看.map文件,就知道已经用了多少Flash,剩下的就是可以用的,但要注意以页对齐。
mcuisp 发表于 2010-10-11 18:55 | 显示全部楼层
比较保险的是修改xcl或icf链接文件,保证空出数据区。
然后用pragma location="section"来定义数组

评分

参与人数 1威望 +1 收起 理由
xiepengchenghn + 1

查看全部评分

xixihaha0 发表于 2010-10-11 21:11 | 显示全部楼层
ls招不错,一般我是直接在boot区域后划出一部分专门用来存储
dadodo 发表于 2010-10-11 23:56 | 显示全部楼层
2楼的方法更简单
香水城 发表于 2010-10-12 04:38 | 显示全部楼层
不管哪种方法,都要注意页对齐,而且这一页中如果又空余的空间,也不能放其它代码或数据,否则擦除时就会出问题。
jgphu 发表于 2010-10-12 09:57 | 显示全部楼层
香水城 你凌晨4点是睡一觉醒来了,还是一直没睡。。
 楼主| xiepengchenghn 发表于 2010-10-12 16:21 | 显示全部楼层
2# hgjinwei

你这样写,只是把这个数组设置为只读吧,能写到Flash中?
 楼主| xiepengchenghn 发表于 2010-10-12 16:22 | 显示全部楼层
5# mcuisp

能够详述一下吗?谢谢,我用的STM32F107
 楼主| xiepengchenghn 发表于 2010-10-12 16:22 | 显示全部楼层
6# xixihaha0

能够详述一下吗?谢谢,我用的STM32F107
 楼主| xiepengchenghn 发表于 2010-10-12 16:24 | 显示全部楼层
8# 香水城

谢谢香主,我用的STM32F107,一页是2K,我用的最后一页。写入的时候用固件库中的函数,读取的时候只用用地址做强制转换读取出来,目前还没发现什么问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

267

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部