No Description

Dail 544abd2610 增加bin文件头校验功能,校验不合格时报错并停止升级: 11 months ago
Core 544abd2610 增加bin文件头校验功能,校验不合格时报错并停止升级: 11 months ago
Drivers 16d264c81d 基于F302RBT6单片机CAN升级 2 years ago
MDK-ARM 544abd2610 增加bin文件头校验功能,校验不合格时报错并停止升级: 11 months ago
User 544abd2610 增加bin文件头校验功能,校验不合格时报错并停止升级: 11 months ago
.mxproject 16d264c81d 基于F302RBT6单片机CAN升级 2 years ago
Bootloader_STM32F302RBT6.ioc 16d264c81d 基于F302RBT6单片机CAN升级 2 years ago
Readme.md 544abd2610 增加bin文件头校验功能,校验不合格时报错并停止升级: 11 months ago

Readme.md

文件校验信息格式

长度

128bytes

格式

帧头(16bytes) | 产品型号(16bytes) | 版本信息(16bytes) | 固件校验码(32bytes) | 预留(32bytes) | 帧校验(16bytes)

描述

帧头(16bytes)

随机生成UUID,定义为AE 7A E5 01 B6 B2 4B 67 87 58 D8 6C 69 E8 E5 FE

产品型号(16bytes)

产品型号ASCII,最大长度16字符。以"."结束,无效部分填充0xFF。

版本信息(16bytes)

软件版本ASCII,最大长度16字符。以"."结束,无效部分填充0xFF。

固件校验码(32bytes)

  1. bin文件最后4bytes为固件crc32校验码,记为x
  2. crc32校验码取反,记为y
  3. (x << 32) + y按照小端模式作为DES加密输入数据(DES加密密钥定义为"MOTINOVA"),计算结果记为z1
  4. z1作为DES加密输入数据(DES加密密钥定义为"AVONITOM"),计算结果记为z2
  5. z1作为固件检验码byte1 ~ byte8,z2作为固件检验码byte9 ~ byte16,剩下16位作为预留,填充0xFF

预留(32bytes)

填充0xFF

帧校验码(16bytes)

对前面112bytes数据等分为7组,每组16bytes,对7组数据进行异或计算,计算结果作为帧校验码。