LPC1343没有EEPROM, 无法保存应用的设置数据. 我看大家一般的做法都是外接一片EEPOM.
其实我们需要保存数据并不是很多、很频繁,完全可以保存在32K FLASH的某个地方。
LPC1343支持在应用编程(IAP),写入的时候有点麻烦,需要考虑到程序中断、扇区搽除、使用寿命等因素。
1、在擦除/写操作过程中,片内Flash存储器不可访问。只有当用户应用程序代码启动执行时,用户Flash区的中断向量才有效。在调用Flash擦除/写IAP之前,用户应当禁止中断或确保用户中断向量在RAM中有效且中断处理程序位于RAM中。IAP代码不能使用或禁止中断。
2、如果你写入FLASH的地方不是空白的(0XFF),你必须搽除所在的整个扇区。免不了影响同扇区的其他字节。
3、FLASH的寿命不是无限的,一般是EEPROM的1/10。如果你要作为临时交换空间可以用RAM,不要动IAP的主意。IAP只适合保存哪些偶尔修改长期保存的数据。
IAP提供一个写入FLASH的方法,如果读保存在FLASH的数据十分简单:FLASH已经和RAM一样在内存空间里了,直接读内存空间就行了。