STM32系列 CAN 升級/IAP 自定義CAN命令(上位機部分)

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內的程序設計。


發佈了28 篇原創文章 · 獲贊 23 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章