DSP

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

2019-07-13 14:37发布

详细介绍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其他地方升级引导程序,从而不会清除正在执行升级任务的升级引导程序。