关于全局变量未初始化的变量是否占flash(即ROM的空间)

2019-07-25 11:28发布

    最近在用f103做信号处理方面的程序flash空间 512k,外扩1M RAM    其中定义了三个全局变量长度32768的float型数组,一个全局变量长度32768的u16型数组;    只有u16的全局变量赋初值。    但是在map里看到不论有没有初值,所有的全局变量都划定了空间。    请问有没有什么办法让未赋初值的变量不占用flash? 微信截图_20171114103011.png 微信截图_20171114103057.png 微信截图_20171114103119.png


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
dantehan
1楼-- · 2019-07-25 16:25
凹凹,不用了,解决了,我的外部内存size只设置了512k,没有全都用上1M,这个数让我误以为是512k的flash满了
aozima
2楼-- · 2019-07-25 21:26
>>有没有什么办法让未赋初值的变量不占用flash?
没有初始值的默认清0,不占RO空间,只占RW空间。
这段也叫BSS
aiyeba
3楼-- · 2019-07-26 03:14
本帖最后由 aiyeba 于 2017-11-14 11:56 编辑

就是要放到flash里面去,你别的地方也没处放阿。


哦,忘记看了,你还有一个外扩得RAM阿,放这里就好了。
正点原子
4楼-- · 2019-07-26 08:56
帮顶
dantehan
5楼-- · 2019-07-26 13:10
 精彩回答 2  元偷偷看……
dantehan
6楼-- · 2019-07-26 15:18
请问该如何解决这个错误,因为我还要再加这么大的数组,我的外部RAM按说是够的1M,总感觉没添加进去。

一周热门 更多>