打印

在IARforARM里面把常量放到flash里面的方法

[复制链接]
3735|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
板砖横飞|  楼主 | 2012-7-29 20:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在正在用K60(飞思卡尔的cortex m4),IAR Embedded Workbench For ARM v6.21,发现用const修饰的常量都是放在readonly  data memory里面的,这样占用很大的ram空间,我想把常量放到flash里面,大家有什么办法?const好像不灵,map文件是这个样子
146 988 bytes of readonly  code memory
       80 bytes of readwrite code memory
   25 112 bytes of readonly  data memory  //const修饰的常量放在了这里,因为我去掉了一个用const修饰的大数组,这相应的减小了
   95 485 bytes of readwrite data memory

相关帖子

沙发
qiujiahongde| | 2012-7-30 08:35 | 只看该作者
const针对任何标准编译器都是可以的,readonly data memory,本来就是存储在flash里面!!!不是RAM里面,你可以下载时看提示下载HEX大小绝不是Code memory;

使用特权

评论回复
板凳
板砖横飞|  楼主 | 2012-8-23 18:04 | 只看该作者
确实是我看错了,const修饰的变量确实放在flash里面,不过const应该不是对任何编译器都放在flash里面的,在IAR for  AVR里面貌似就不是,后来用了IAR里面的关键字__Flash才把它弄到flash里面去的。 2# qiujiahongde

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

431

帖子

2

粉丝