STM32系列 CAN 升级/IAP 自定义CAN命令(上位机部分)

匿名 (未验证) 提交于 2019-12-03 00:34:01

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内的程序设计。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!