我对你问题的理解:程序中的任何数组定义都是暂存在Ram中的,如果你要写到Flash中,断电后还能保留的话?需要对硬件进行操作。看你用什么硬件,查看该单片机的操作手册,用户使用手册之类的,看对Flash怎么操作,一般是通过配置寄存器,将数据写到Flash中。
定义常量或数组直接到Flash,这个功能很好,如果真如网上所说加一个编译就可以,那我也要学习学习。
IAR开发环境下,在flash下定义数组的方法(本人使用的硬件平台是LPC2368)。
使用关键字const就能实现,但要注意调试方式选择在flash中调试,且在option的debug选项中一定要勾选use flash loader,如果不勾选将会报错。如果没有把数组定义在flash中,且在flash中调试程序,不勾选use flash loader不会报错,不知为什么。。。有网友说使用关键字_flash能够实现,但是我没有调通,调试提示不识别该关键字
const u8 buf[256] @0x0801 0000 = {你的数据};
IAR下一般要修改icf文件