打印
[MCU]

如何在IAR for ARM中定义常量或数组到flash而不是RAM中?

[复制链接]
515|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2019-6-22 15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiajs| | 2019-6-22 15:33 | 只看该作者

const  就可以啊。

使用特权

评论回复
板凳
spark周|  楼主 | 2019-6-22 15:38 | 只看该作者
const,__flash关键字都不行,网上说加一个编译开关,也没有,如何实现想请教,谢谢!

使用特权

评论回复
地板
wyjie| | 2019-6-22 15:42 | 只看该作者

你是要定义一个指向flash 运行的指针还是要存放数据到flash ?

使用特权

评论回复
5
spark周|  楼主 | 2019-6-22 15:45 | 只看该作者
const不行的,打开仿真器可以看到是静态变量,没有存放数据到flash;但我们需要存放到flash

使用特权

评论回复
6
jiaxw| | 2019-6-22 15:48 | 只看该作者
const修饰的变量和code放在一起了,可以实现和flash一样的功能,如果要放在内部flash里面要执行flash的读写操作。

使用特权

评论回复
7
zhaoxqi| | 2019-6-22 15:52 | 只看该作者

IAR开发环境下,在flash下定义数组的方法(本人使用的硬件平台是LPC2368)。
使用关键字const就能实现,但要注意调试方式选择在flash中调试,且在option的debug选项中一定要勾选use flash loader。

使用特权

评论回复
8
zhaoxqi| | 2019-6-22 15:56 | 只看该作者
如果不勾选将会报错。如果没有把数组定义在flash中,则不勾选use flash loader不会报错,不知为什么。。。有网友说使用关键字_flash能够实现,但是我没有调通,调试提示不识别该关键字

使用特权

评论回复
9
spark周|  楼主 | 2019-6-22 15:59 | 只看该作者
谢谢,是我地址弄错了,问题已解决!

使用特权

评论回复
10
zhanghqi| | 2019-6-22 16:04 | 只看该作者
变量运行不是在ram吗

使用特权

评论回复
11
jiahy| | 2019-6-22 16:06 | 只看该作者

设置volatile这个形式呢?

使用特权

评论回复
12
spark周|  楼主 | 2019-6-22 16:09 | 只看该作者
结贴了,多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则

821

主题

10121

帖子

4

粉丝