feat(ota): 实现安全OTA更新协议支持AES加密和CRC校验

- 添加AES128加密解密功能支持安全固件传输
- 实现基于随机数握手的安全会话密钥协商机制
- 集成CRC32带密钥校验确保数据完整性
- 重构OTA状态机支持握手、数据传输和验证流程
- 添加CANFD数据长度规范处理和安全跳转逻辑
- 移除调试打印语句优化性能

refactor(can): 优化CANFD发送和OTA确认处理逻辑

- 重构CANFD_AsyncSend函数支持规范数据长度
- 重命名sendACK为sendDATA_ACK并添加重载函数
- 修复数据长度处理和缓冲区填充逻辑
- 优化CAN消息发送的数据复制和验证流程
- 移除未使用的联合体类型定义

chore(project): 添加AES加密模块和系统初始化配置

- 在项目配置中添加AES128加密解密文件
- 在main.cpp中初始化CRC外设模块
- 添加安全十六进制打印调试函数
- 集成AES加密库到OTA处理流程中
- 优化系统时钟初始化配置
This commit is contained in:
cbb
2026-01-01 01:39:19 +08:00
parent a25ec5f029
commit 9c7145ef99
28 changed files with 2470 additions and 1040 deletions
+6
View File
@@ -5,6 +5,12 @@
"file": "G:\\Robot_v2\\BOOT\\Robot_V2\\main.cpp",
"output": "CMakeFiles\\Group_Source_Files.dir\\G_\\Robot_v2\\BOOT\\Robot_V2\\main.o"
},
{
"directory": "G:/Robot_v2/BOOT/tmp/1",
"command": "c:\\Users\\cbb\\.vcpkg\\artifacts\\2139c4c6\\compilers.arm.armclang\\6.24.0\\bin\\armclang.exe --target=arm-arm-none-eabi -DGD32C10x -D_RTE_ -IG:/Robot_v2/BOOT/Robot_V2/RTE/_Release_GD32C103CB -IC:/Users/cbb/AppData/Local/arm/packs/ARM/CMSIS/4.5.0/CMSIS/Include -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Firmware/Peripherals/inc -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Include -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Utilities -IG:/Robot_v2/BOOT/Robot_V2 -IG:/Robot_v2/BOOT/Robot_V2/sys -IG:/Robot_v2/BOOT/Robot_V2/device -isystem C:/Users/cbb/.vcpkg/artifacts/2139c4c6/compilers.arm.armclang/6.24.0/include/libcxx -isystem C:/Users/cbb/.vcpkg/artifacts/2139c4c6/compilers.arm.armclang/6.24.0/include --target=arm-arm-none-eabi -mcpu=Cortex-M4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi -mcpu=Cortex-M4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi -c -mlittle-endian -fshort-enums -fshort-wchar -D__MICROLIB -Wno-register -gdwarf-5 -Wno-macro-redefined -Wno-pragma-pack -Wno-parentheses-equality -Wno-license-management -O2 -o CMakeFiles\\Group_Source_Files.dir\\G_\\Robot_v2\\BOOT\\Robot_V2\\sys\\aes128.o -c G:\\Robot_v2\\BOOT\\Robot_V2\\sys\\aes128.cpp",
"file": "G:\\Robot_v2\\BOOT\\Robot_V2\\sys\\aes128.cpp",
"output": "CMakeFiles\\Group_Source_Files.dir\\G_\\Robot_v2\\BOOT\\Robot_V2\\sys\\aes128.o"
},
{
"directory": "G:/Robot_v2/BOOT/tmp/1",
"command": "c:\\Users\\cbb\\.vcpkg\\artifacts\\2139c4c6\\compilers.arm.armclang\\6.24.0\\bin\\armclang.exe --target=arm-arm-none-eabi -DGD32C10x -D_RTE_ -IG:/Robot_v2/BOOT/Robot_V2/RTE/_Release_GD32C103CB -IC:/Users/cbb/AppData/Local/arm/packs/ARM/CMSIS/4.5.0/CMSIS/Include -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Firmware/Peripherals/inc -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Include -IC:/Users/cbb/AppData/Local/arm/packs/GigaDevice/GD32C10x_DFP/1.0.1/Device/Utilities -IG:/Robot_v2/BOOT/Robot_V2 -IG:/Robot_v2/BOOT/Robot_V2/sys -IG:/Robot_v2/BOOT/Robot_V2/device -isystem C:/Users/cbb/.vcpkg/artifacts/2139c4c6/compilers.arm.armclang/6.24.0/include/libcxx -isystem C:/Users/cbb/.vcpkg/artifacts/2139c4c6/compilers.arm.armclang/6.24.0/include --target=arm-arm-none-eabi -mcpu=Cortex-M4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi -mcpu=Cortex-M4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi -c -mlittle-endian -fshort-enums -fshort-wchar -D__MICROLIB -Wno-register -gdwarf-5 -Wno-macro-redefined -Wno-pragma-pack -Wno-parentheses-equality -Wno-license-management -O2 -o CMakeFiles\\Group_sys.dir\\G_\\Robot_v2\\BOOT\\Robot_V2\\sys\\systick.o -c G:\\Robot_v2\\BOOT\\Robot_V2\\sys\\systick.cpp",