OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9558|回复: 11

如何分配一段flash地址作为程序系统配置参数的存储空间

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
发表于 2015-9-22 10:46:07 | 显示全部楼层 |阅读模式
5金钱
如何非配一段地址作为程序存储空间,比如将0x08040000开始的三个扇区作为系统参数存储空间。

现在主要无法解决的问题是可以用__attribute__将地址空间分配出来,但是这种方式在写flash之后,程序被破坏系统将无法启动。

有没有更好的建议。

最佳答案

查看完整内容[请看2#楼]

编译之后  算下你的程序占用flash大小  再后移一段距离作为参数区
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6757

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12988
金钱
12988
注册时间
2012-11-26
在线时间
3788 小时
发表于 2015-9-22 10:46:08 | 显示全部楼层
编译之后  算下你的程序占用flash大小  再后移一段距离作为参数区
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-9-22 10:46:08 | 显示全部楼层
如果数据不大,直接定义在mcu flash区域的最后一段区域,就比较保险了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
 楼主| 发表于 2015-9-22 11:11:35 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
你的意思直接对程序范围之外的地址空间进行读写操作。
但是如果我想在程序编译之前就将部分系统数据初始化,怎么操作?
回复

使用道具 举报

70

主题

6757

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12988
金钱
12988
注册时间
2012-11-26
在线时间
3788 小时
发表于 2015-9-22 11:14:29 | 显示全部楼层
回复【3楼】yjzhou:
---------------------------------
你到底什么目的??麻烦你讲清楚
学无止境
回复

使用道具 举报

70

主题

6757

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12988
金钱
12988
注册时间
2012-11-26
在线时间
3788 小时
发表于 2015-9-22 11:15:37 | 显示全部楼层
回复【3楼】yjzhou:
---------------------------------
如果你这个参数不变了  用const 直接赋值

如果要变 就按照1楼的做!
学无止境
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
 楼主| 发表于 2015-9-22 11:21:07 | 显示全部楼层
回复【5楼】jermy_z:
--------------------------------
功能如下:
1. 我在程序中初始化一段地址空间,并且将该空间作为系统参数地址空间。
2. 硬件上电后直接读该空间初始化系统。
3. 我可以通过其他方式去配置参数,也就是命令读写该地址空间参数。
回复

使用道具 举报

70

主题

6757

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12988
金钱
12988
注册时间
2012-11-26
在线时间
3788 小时
发表于 2015-9-22 11:22:34 | 显示全部楼层
回复【6楼】yjzhou:
---------------------------------
按照1楼做法
学无止境
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
 楼主| 发表于 2015-9-22 11:23:04 | 显示全部楼层
回复【5楼】jermy_z:
---------------------------------
并且一次配置之后,断电不需要重新再配置。
回复

使用道具 举报

70

主题

6757

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12988
金钱
12988
注册时间
2012-11-26
在线时间
3788 小时
发表于 2015-9-22 11:24:06 | 显示全部楼层
回复【8楼】yjzhou:
---------------------------------
按照1楼做法
学无止境
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
 楼主| 发表于 2015-9-22 11:24:32 | 显示全部楼层
回复【7楼】jermy_z:
---------------------------------
我不太理解“再后移一段距离作为参数区”在程序中如何操作?
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2015-8-5
在线时间
0 小时
 楼主| 发表于 2015-10-28 17:37:54 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
谢谢原子哥,现目前就是这个做法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 11:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表