1、每款产品可以使用不同的波特率,CAN命令,所有的参数均可以通过配置文件定义
2、升级命令就类似于密码,不知道命令的人是无法更急程序的, 有一定的安全保密性质
3、只要所有的升级程序流程保持一致,就可以是通用版。
4、该升级程序不仅仅可以用于全部STM32系列, 也可以用于其他厂家的MCU。
5、使用的时候按照按钮上面的定义1、2、3、4即可完成产品的程序更新,非常方便
下面是配置文件的内容
配置ini文件所有的数字均用十进制表示,具体内容如下:
名称 | 注释 |
主节点 | |
Code | = 335721文件标志,不可更改 |
Version | 默认1 |
Name | 名字,仅作为显示 |
[CmdConfig] | 主节点 |
ID_IAPCmd | 发送给App的升级CANID |
IAPData0 | 可以设置任意值,和程序匹配即可,类似于程序升级密码 |
IAPData1 | |
IAPData2 | |
IAPData3 | |
IAPData4 | |
IAPData5 | |
IAPData6 | |
IAPData7 | |
ID_PingCmd | 上位机发送Ping命令 |
ID_AddrCmd | 上位机发送起始地址命令 |
ID_DataCmd | 上位机发送数据命令 |
ID_RunCmd | 上位机发送run命令 |
ID_PingAck | 下位机相应Ping命令 |
ID_AddrAck | 下位机相应起始地址命令 |
ID_DataAck | 下位机相应数据命令 |
ID_RunAck | 下位机相应run命令 |
CodeShiftAddr | App代码的起始地址,和程序对应 |
CodeLength | 预留,可不填写 |
CheckEnable | 对ID_DataCmd 是否校验 ,0-不校验,1-校验 |
[CanConfig] | 主节点 |
BpsIndex | 0-100k;1-125k;2-250k;3-500k |
TypeIndex | 0-标准帧,1-扩展帧 |
Channel | CAN通道:0-CAN0,1-CAN1 |
备注:ID_IAPCmd和ID_PingCmd允许相同;ID_PingAck、ID_AddrAck、ID_DataAck、ID_RunAck允许相同。也就是说升级至少需要5个CAN ID
准备在下一篇描述整个工作流程图,及MCU内的程序设计。