![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何在IAR for ARM中定义常量或数组到flash而不是RAM中?const,__flash关键字都不行,网上说加一个编译开
如何在IARforARM中定义常量或数组到flash而不是RAM中?const,__flash关键字都不行,网上说加一个编译开关,也没有,如何实现想请教,谢谢!已经得到解...
如何在IAR for ARM中定义常量或数组到flash而不是RAM中?const,__flash关键字都不行,网上说加一个编译开关,也没有,如何实现想请教,谢谢!
已经得到解决,是我看错了地址区间,实际上const定义就行。 展开
已经得到解决,是我看错了地址区间,实际上const定义就行。 展开
3个回答
展开全部
我对你问题的理解:程序中的任何数组定义都是暂存在Ram中的,如果你要写到Flash中,断电后还能保留的话?需要对硬件进行操作。看你用什么硬件,查看该单片机的操作手册,用户使用手册之类的,看对Flash怎么操作,一般是通过配置寄存器,将数据写到Flash中。
定义常量或数组直接到Flash,这个功能很好,如果真如网上所说加一个编译就可以,那我也要学习学习。
定义常量或数组直接到Flash,这个功能很好,如果真如网上所说加一个编译就可以,那我也要学习学习。
展开全部
IAR开发环境下,在flash下定义数组的方法(本人使用的硬件平台是LPC2368)。
使用关键字const就能实现,但要注意调试方式选择在flash中调试,且在option的debug选项中一定要勾选use flash loader,如果不勾选将会报错。如果没有把数组定义在flash中,且在flash中调试程序,不勾选use flash loader不会报错,不知为什么。。。有网友说使用关键字_flash能够实现,但是我没有调通,调试提示不识别该关键字
使用关键字const就能实现,但要注意调试方式选择在flash中调试,且在option的debug选项中一定要勾选use flash loader,如果不勾选将会报错。如果没有把数组定义在flash中,且在flash中调试程序,不勾选use flash loader不会报错,不知为什么。。。有网友说使用关键字_flash能够实现,但是我没有调通,调试提示不识别该关键字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-12-20
展开全部
const u8 buf[256] @0x0801 0000 = {你的数据};
IAR下一般要修改icf文件
IAR下一般要修改icf文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询