Commit Graph
10 Commits
Author SHA1 Message Date
cbb 46d4bfe8ef feat(bootloader): 实现APP延迟启动模式支持OTA请求检测
当APP可用但未激活时,系统现在会进入延迟启动模式,在指定时间内
监听CAN总线上的OTA请求。如果在此期间收到OTA请求,则进入OTA模式;
否则超时后自动跳转到APP。

新增配置参数APP_DELAY_BOOT_TIME用于设置延迟启动时间,默认为10秒。
在延迟期间,系统持续进行CAN通信检查和OTA心跳消息发送,确保能够
及时响应OTA更新请求。

此功能增强了系统的OTA更新灵活性,允许在启动过程中动态决定
是否进行固件更新而不是强制进入OTA模式。
2026-04-26 03:36:45 +08:00
cbb d019b41ed6 feat(CAN): 实现CAN FD协议栈优化和发送队列机制
- 将CAN收发缓冲区扩展至64字节以支持CAN FD协议
- 添加发送队列机制防止高负载时消息丢失
- 优化中断处理流程,直接读取消息数据避免DMA竞争
- 修改编译配置指向Release版本目录
- 调整OTA处理逻辑将Flash擦除操作移至主循环执行

BREAKING CHANGE: 缓冲区大小调整可能影响现有CAN通信协议实现
2026-04-26 02:27:34 +08:00
cbb 26cf5af14f 修复BOOT丢帧问题,优化标志位的存储 2026-03-08 01:08:27 +08:00
cbb 1e6d47ddae feat(bootloader): 添加了完整的系统休眠和唤醒机制,包括:
- 实现深睡眠模式下的功耗优化
- 添加PB8引脚的外部中断唤醒功能
- 新增Flash区域用于睡眠状态管理
- 实现睡眠配置的自动检查和恢复逻辑

同时重构了OTA_SET函数,改进了Flash配置参数的写入机制,
解决了GD32 Flash特性导致的0到1写入问题,并添加了详细的
调试信息输出和错误处理。
2026-01-12 01:06:05 +08:00
cbb aefb7d4ee4 feat(ota): 修复备份APP区域恢复功能和OTA流程优化、启用BRS、减小延时
- 添加sendBackup方法用于在备份APP激活时发送确认消息
- 优化OTA跳转逻辑,在jumpToApplication中清除复位标志
- 修复move_app_data函数中数据源地址错误,从备份区域正确读取数据
- 在OTA流程中正确设置APP状态标志,确保应用验证状态管理

refactor(can): 清理调试代码和函数签名优化

- 移除调试用的printf语句和未使用的cstdio头文件
- 统一函数参数类型为u8和u32,提高代码一致性
- 优化CAN通信检查逻辑,移除冗余的调试输出

perf(ota): 优化OTA处理中的延时函数

- 将delay_1ms(1)改为delay_1us(100),提高延时精度
- 添加微秒级延时函数delay_1us实现
- 增加OTA超时时间从10秒到100秒

fix(ota): 修复OTA状态管理和错误处理

- 在各种错误情况下正确设置ota_state为OTA_STATE_IDLE
- 在eraseApplicationArea中正确初始化APP状态标志
- 添加CRC校验失败时的调试输出选项
- 修复数据包大小验证逻辑
2026-01-07 23:14:15 +08:00
cbb c7c4451d57 refactor(build): 支持A/B分区逻辑
移除sys/flash.h、sys/flash.cpp、sys/initial.h和sys/OTA相关文件的
引用,清理cproject.yml和cbuild.yml中的未使用组件和文件配置。

BREAKING CHANGE: 移除了FlashEEPROM相关功能和接口。
2026-01-05 00:52:20 +08:00
cbb 2f482554f0 feat(ota): OTA功能测试通过,CANFD解包效率优化
- 添加OTA固件升级功能,包括应用程序验证和跳转机制
- 实现CANFD数据传输协议,支持加密和CRC校验
- 优化CAN通信处理,添加调试输出和错误处理
- 更新RTE组件配置,升级csolution版本到2.12.0
- 增加Flash擦除和写入的安全验证机制
- 添加应用程序区域扫描和验证功能

refactor(can): 重构CAN通信模块和OTA数据处理

- 移除未使用的常量定义和辅助函数
- 改进数据解包和加密解密流程
- 添加条件编译调试输出
- 优化Flash操作的安全性和可靠性

chore(build): 更新项目配置和忽略文件

- 添加tmp/和out/目录到.gitignore
- 扩展ROM0_SIZE从0x0020000到0x08005000
- 添加bin输出格式支持
2026-01-03 18:00:28 +08:00
cbb 9c7145ef99 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处理流程中
- 优化系统时钟初始化配置
2026-01-01 01:39:19 +08:00
cbb a25ec5f029 基础响应功能的实现 2025-12-27 19:20:23 +08:00
cbb 26e73f451e init 2025-12-25 12:07:06 +08:00