xiong16334 发表于 2018-6-14 16:43

关于MSP430 IAP自更新

本人新手,刚入门这一块,网上看到的IAP大部分都是直接上电判断是否升级,能否在用户程序运行中进行中断跳出升级呢?
比如MSP430在运行一个和PC机通信的程序 我想通过PC机发送一条更新指令过去 让它从用户程序跳出进入一个Bootloader升级程序,接收升级数据完后,对存储在430的FLASH内的用户程序进行一个更新(即对Flash用户程序区的一个擦除和写入)。
请问更新指令需要怎么设定,可以使通信接收用中断处理吗?就是每接收一位数据,硬件置位,进行一次中断处理,然后判断该值,决定是否跳转?
不大理解这些步骤 求大大们指点一下~~

ayb_ice 发表于 2018-6-14 17:02

设个标志位,然后软件复位,复位后判断标志即可

xiong16334 发表于 2018-6-14 20:16

ayb_ice 发表于 2018-6-14 17:02
设个标志位,然后软件复位,复位后判断标志即可

谢谢你的回答 再请问一下
那上位机发送的更新程序里面 头部必须自带一个更改标志位的语句吗 或者有其它方式?
在未进行升级时 每次进行接收中断都判断一次标志位 以此来决定是否复位并进入升级程序?

ayb_ice 发表于 2018-6-15 08:29

根据协议发送完所有需要升级的数据后再设标志
数据一般都是通过多包数据才能发送完,不可能一条指令把所有数据发完(要升级的数据一般是先保存在某个地方)

zwsam 发表于 2024-3-8 09:09

学习了
页: [1]
查看完整版本: 关于MSP430 IAP自更新