【MSP430 编译器使用经验】+ 关于在Information Flash中初始化数据
[复制链接]
本帖最后由 chende815 于 2014-7-18 09:54 编辑
在一些项目需要保存一些参数和数据在EEPROM或者FLASH中,由于MSP430单片机没有内置EEPROM,只能把数据存储在FLASH中。查找IAR编译器的用户手册得知,可以使用location和__root关键字定义数据在flash中,只要编程下载时写入就可以了。而在CCS中,我还没有找到方法,希望知道的朋友不吝赐教。
#pragma location = 0x1000
__root const unsigned char pic[]=
{
0x00,0x00,0x00,0x02,0x11,'0','2','0',//00-07
'0','0','0','0','0','0','0','0', //08-0F
'0','6','8','1','0',0xFF,0xFF,0xFF, //10-17
0x01,0x5c,0x65,0xb0,0,0xff,0xff,0xff,//18-1F
0x0f,'2','0','1','4','.','0','5', //20-27
'.','1','1','V','0','.','1','0', //28-2F
};
#pragma location = 0x1000定义数据开始位置,info flash地址从0x1000开始,也可以定义到其它地址。
对于已经设置好的参数或者数据,不希望每次下载程序时修改或者重新设置,可以在IAR中进行如下设置:
在Download选项Flash erase选项下选择只擦除main memory,就可以保存上次的数据。
由于FLASH只能扇区擦除,修改FLASH数据的时候可能比较麻烦一点,要按照读-修改-写的模式进行操作,把整个扇区的数据读出来,擦除扇区,修改完成以后再把数据写回去。
|