tag 标签: 串口bootloader

相关博文
  • 热度 16
    2012-4-17 14:49
    2788 次阅读|
    2 个评论
        MSP430本不支持串口升级程序,但是有网友自己编写了bootloader后使其可以通过串口升级程序。参考网上的资料,自己也做了尝试,效果还不错。现在把自己的心得写下以供网友分享。   430单片机可以供用户对flash进行操作,这便是串口升级能够实现的前提,串口升级的基本原理是将主flash分为两部分:bootloader区和用户应用程序区,bootloader程序可以通过串口接收应用程序代码将其写入应用程序区,写完程序后使程序计数器跳转入应用程序区即可。   原理本身并不复杂,但是在这一过程中,对中断向量的处理比较难一些,我参考网上一些网友的做法,采用中断向量重映射的办法,修改用户应用程序的中断向量表的位置,在执行中断时首先CPU跳转至默认中断服务程序中,而在中断服务程序中嵌入汇编使CPU跳转至用户中断服务程序。   采用这种办法时在bootloader程序中最好不要使用中断,由于bootloader程序和用户应用程序分开存放,即使升级失败也可以进行重新升级!由于我的项目采用的是无线串口透传模块,不具有普遍性,而且完善的升级协议还没完成,就不再上传源代码了。   如果有网友有疑问可以邮件沟通。邮箱是462629051@qq.com