1、每款產品可以使用不同的波特率,CAN命令,所有的參數均可以通過配置文件定義
2、升級命令就類似於密碼,不知道命令的人是無法更急程序的, 有一定的安全保密性質
3、只要所有的升級程序流程保持一致,就可以是通用版。
4、該升級程序不僅僅可以用於全部STM32系列, 也可以用於其他廠家的MCU。
5、使用的時候按照按鈕上面的定義1、2、3、4即可完成產品的程序更新,非常方便
下面是配置文件的內容
配置ini文件所有的數字均用十進制表示,具體內容如下:
名稱 | 註釋 |
[FileDescription] | 主節點 |
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內的程序設計。