MSP430的升级引导程序编写以及升级固件制作

本文详细介绍了MSP430的升级引导程序编写,包括关闭看门狗、程序跳转等关键步骤。同时,阐述了用户应用程序的实现,特别是串口键鼠事件和升级请求功能。在制作升级固件过程中,讲解了如何从V1版本升级到V2版本,重点是调整链接文件中flash起始地址和中断向量,确保升级过程不会影响正在运行的引导程序。

详细介绍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;

}

整体的流程:

                                                  

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

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

                           

                                              

3.制作升级固件

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

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

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

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

 

   

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值