社区导航

 

搜索
查看: 95|回复: 0

[资料分享] MSP430的升级引导程序编写以及升级固件制作

[复制链接]

3471

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2020-5-13 20:43 | 显示全部楼层 |阅读模式

详细介绍MSP430的升级引导程序编写以及升级固件制作。

1.关于升级引导代码的实现:

      主要功能实现:进行相对应的升级程序跳转用户程序的选择

      对于MSP430的启动初始化来讲,是默认看门狗打开,所以需要提前关闭看门狗,      

void WDT_A_hold(uint16_t baseAddress)

{

    // Set Hold bit

    uint8_t newWDTStatus =

        ((HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) | WDTHOLD);

 

    HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;

}

整体的流程:

          11.png                                          

2.用户应用程序的实现:

   用户程序分为串口键鼠事件的功能以及请求升级。

                            image.png                                            

3.制作升级固件

        对于MSP430固件版本为V1,升级到版本V2。升级版本V2的制作主要看清楚V1版本的引导升级程序的起始地址。

        假设V1版本的hex文件的引导程序的起始位置是在0x1000的位置,则在对要升级的430代码编译时修改链接文件中flash的起始位值修改为0xa000,然后再生成TXT文件,再将TXT文件的中断向量地址进行修改,生成hex文件。

        要注意的是,用户程序代码放置在flash位置上可以不需要进行修改,升级的时候直接覆盖就行了

        这样的话,从V1版本升级成V2版本时,就可以在430的flash其他地方升级引导程序,从而不会清除正在执行升级任务的升级引导程序。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-14 04:33 , Processed in 0.077584 second(s), 21 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表