最近再研究STC 32G12K128 这款单片机
由于程序需要用到EEPROM 存储一些重要信息
例如做产品的程序激活, 在EEPROM内存储激活信息
这样只要该芯片已经激活 更新程序的时候只要不擦除EEPROM的数据
程序就可以正常运行
但IAP的单片机 EEPROM的空间是可调的 没有一个固定地址范围
所以在STC_IAP下载软件里无论怎么设置 下载程序后EEPROM的内容都会给主程序覆盖
除非更换一款固定EEPROM的单片机
但是硬件已经设计好了改单片机有点麻烦
后来想到一个办法解决所有IPA单片机 EEPROM被主程序覆盖
就是在Keil里面设置编译起始地址
经过测试 确实3FF之前的数据不会被覆盖
起始地址可以根据自己需求调节
地址长度需要减去 起始地址 20000H 128K空间 - 3FFH 1K空间
程序空间剩下127K
|