OpenEdv-开源电子网

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

关于keil编译信息RO-data,无论怎么声明只读变量也不改变

[复制链接]

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
发表于 2019-2-23 14:35:51 | 显示全部楼层 |阅读模式
8金钱
捕获.PNG 捕获1.PNG
怎么修改const变量,这个分配内存值也不改变啊,求救!!!!着急.........

最佳答案

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

看编译器优化等级,你只定义没有使用,编译器觉得你既然没用,我就帮你优化掉了!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2019-2-23 14:35:52 | 显示全部楼层
看编译器优化等级,你只定义没有使用,编译器觉得你既然没用,我就帮你优化掉了!
回复

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2019-2-23 16:30:04 | 显示全部楼层
@原子哥
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-2-23 16:40:15 | 显示全部楼层
先把把它定位到flash某个位置, 然后通过写flash改变其值
回复

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2019-2-23 17:07:58 | 显示全部楼层
edmund1234 发表于 2019-2-23 16:40
先把把它定位到flash某个位置, 然后通过写flash改变其值

怎么定位呢?麻烦说的详细点呀,谢谢啦
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-2-23 17:19:01 | 显示全部楼层
就是指定它放在flash里什么位置啊
网上搜变量绝对地址
回复

使用道具 举报

16

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
818
金钱
818
注册时间
2014-10-22
在线时间
589 小时
发表于 2019-2-23 17:42:35 | 显示全部楼层
要满足4个字节倍数增加,你再定义3个充到4个字节,那就有效果了。
回复

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2019-2-23 20:12:45 | 显示全部楼层
dfbb123 发表于 2019-2-23 17:42
要满足4个字节倍数增加,你再定义3个充到4个字节,那就有效果了。

没有效果呀,还有其他方法吗?
回复

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2019-2-23 20:16:57 | 显示全部楼层
edmund1234 发表于 2019-2-23 17:19
就是指定它放在flash里什么位置啊
网上搜变量绝对地址

还是不对,我的意思是Ro-Data是用来存储常量的,但是我声明了全局变量他还是没有变化呀
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-2-23 21:18:20 | 显示全部楼层
lsx0812 发表于 2019-2-23 20:16
还是不对,我的意思是Ro-Data是用来存储常量的,但是我声明了全局变量他还是没有变化呀

我都有点搞不懂你的目的了?
你要这个被定义为 const char a, 除了有一默认值5, 还要在程式里能修改它的值, 是这样吗?还是你要的只是修改它的默认值?
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-2-23 21:22:34 | 显示全部楼层
如果说你只是要修改它的默认值, 那我前面说的是没错的
如果说你要的是在程式任何地方都能修改它的值, 那就把const去掉
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 18:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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