ARM技术william hill官网
直播中

hsdou月半

8年用户 486经验值
擅长:MEMS/传感技术
私信 关注
[问答]

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

如何在IAR for ARM中定义常量或数组到flash而不是RAM中?const,__flash关键字都不行,网上说加一个编译开关,也没有,如何实现想请教,谢谢!
已经得到解决,是我看错了地址区间,实际上const定义就行。

回帖(2)

韩刚龙

2022-12-9 16:20:24
我对你问题的理解:程序中的任何数组定义都是暂存在Ram中的,如果你要写到Flash中,断电后还能保留的话?需要对硬件进行操作。看你用什么硬件,查看该单片机的操作手册,用户使用手册之类的,看对Flash怎么操作,一般是通过配置寄存器,将数据写到Flash中。
定义常量或数组直接到Flash,这个功能很好,如果真如网上所说加一个编译就可以,那我也要学习学习。
举报

李涛

2022-12-9 16:20:39
IAR开发环境下,在flash下定义数组的方法(本人使用的硬件平台是LPC2368)。
使用关键字const就能实现,但要注意调试方式选择在flash中调试,且在option的debug选项中一定要勾选use flash loader,如果不勾选将会报错。如果没有把数组定义在flash中,且在flash中调试程序,不勾选use flash loader不会报错,不知为什么。。。有网友说使用关键字_flash能够实现,但是我没有调通,调试提示不识别该关键字
举报

更多回帖

发帖
×
20
完善资料,
赚取积分