新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MSP43F149系列单片机的IAP功能设计

基于MSP43F149系列单片机的IAP功能设计

作者:时间:2011-12-17来源:网络收藏

 图4中必须注意:

  ①必须先固定该程序的入口地址,这样引导程序才能将之拷贝到RAM中,大小要控制在2 KB之内。该程序比较小,一般不超过2 KB 。


  ②必须将Flash状态锁住,这样在写的时候不容易出错。

  ③在读取60 KB数据后,打开看门狗。升级系统是根据看门狗不喂狗来自动复位重启系统的。

  用户只要根据上面的流程进行编程,就很容易实现升级(这里是重点,也是一个难点)。引导程序流程如图5所示。

  图5说明:声明一个入口函数,便于外部程序升级时调用。这个引导程序比较简单。由于在片内执行,所以使用汇编语言(mov指令)很容易就可以把蚂蚁搬家程序导入到RAM中。

  由于IAR编译出来的最终文件为*.a43文件,建议使用类似(HexToBin.exe)软件将*.a43文件转化成二进制文件,就可直接下载了。

  4 注意事项

  这段代码必须在RAM里运行,所以暂时不使用SP来“RET”。也就是说,不可以使用CALL指令,也不可以使用压栈处理(如PUSH或者POP等指令),所以这里将不可以开设堆栈区。通过某种无线手段执行代码(BIN文件),然后根据自定义无线协议,将该可执行代码下载并保存到片外的Flash相应地址空间,最后启动升级程序。最后通过启动看门狗并复位来启动系统。

  结 语

  通过长期的实践证明,本方案具有非常高的可靠性。这里虽然只介绍了MSP430产品的升级方法,但对于其他没有自带IAP的升级,其思路却都一样。这里提醒广大的开发爱好者,对于一串串的二进制文件数据,我们不要害怕;只要独立思考,抓住的特性,灵活应用,只有想不到,没有做不到。祝大家共同进步!


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭