首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

怎么将一个全局变量写到FLASH的固定位置下

2013-01-06 
如何将一个全局变量写到FLASH的固定位置上?准备定义一个全局变量,内容为1234567890,放在FLASH的某个地址

如何将一个全局变量写到FLASH的固定位置上?
准备定义一个全局变量,内容为"1234567890",放在FLASH的某个地址上,如0x1b00。我希望是程序编译完后,生成的hex文件转换成bin文件之后,在0x1b00位置上,就有这串数据写在里头。这个要如何操作呢。
[解决办法]

引用:
unsigned char *gUc= (unsigned char *)0x1b00;
这种写法可以使得gUc指向0x1b00。可以通过它将固定地址写入某串数据,但只能在程序运行的时候写入吧,我是希望程序编译完成后0x1b00就有指定的数据串。

有的FLASH烧写工具有这样的功能,可以直接对FLASH进行读写。
另外,楼主你的这种方法也是可以的,你可以先运行一段只有对FLASH进行写操作的程序,然后FLASH里不就有数据了么。你下次烧其他程序,只要指定编译器的MAP文件,不要关联到上次写的FLASH地址,那么之前写的这些数据不会重新初始化的。

热点排行