程序写的差不多了,总工叫我去实现程序的在线升级功能,还什么IAP,我还以为ISP呢,
闷了好一会才缓过来,后来才知道IAP是应用可编程,即程序通过自身的升级代码来升级,
而升级程序可以通过串口、USB、U盘之类的来提供。好吧,大概了解了点,后来在总工的
提示下知道做这个程序需要将程序分为2段,一段主代码,另一段则是升级程序,这样后面在
升级的时候只对运行的程序部分升级,而升级程序保持不变,防止把自己擦挂掉了,就over了,
还有我们要对程序的地址什么的要有比较深的了解。
我用的是430,编译器是CCS4.0,可以通过CMD文件来管理段地址,不过刚开始完全
不懂,找资料吧。找了半天,尝试了半天,终于成功,在CMD文件中定义了一个新段.updata
再用下面这宏#pragma CODE_SECTION(IAPUpdata,".updata"),将升级程序指定到.updata
段里,编译下,可以从map文件中看到该函数的地址就是我们定义段的地址。到时进入升级模式
程序跳转到该地址运行程序,进行对主程序部分进行擦写。
对地址什么的了解的更多了, 本来需要个上位机测试程序的,不懂上位机,悲催啊。