feat(CAN): 实现CAN FD协议栈优化和发送队列机制

- 将CAN收发缓冲区扩展至64字节以支持CAN FD协议
- 添加发送队列机制防止高负载时消息丢失
- 优化中断处理流程,直接读取消息数据避免DMA竞争
- 修改编译配置指向Release版本目录
- 调整OTA处理逻辑将Flash擦除操作移至主循环执行

BREAKING CHANGE: 缓冲区大小调整可能影响现有CAN通信协议实现
This commit is contained in:
cbb
2026-04-26 02:27:34 +08:00
parent 26cf5af14f
commit d019b41ed6
20 changed files with 1783 additions and 1579 deletions
+6
View File
@@ -25,6 +25,12 @@ class OTAHandler {
void eraseApplicationArea();
void writeApplicationData(u32 offset, u8 *data, u32 size);
bool verifyApplicationData(u32 offset, u8 *data, u32 size);
// Flash操作标志(用于延迟执行,避免中断中耗时操作)
bool pending_flash_erase = false;
u32 pending_flash_offset = 0;
u8 pending_flash_data[64];
u8 pending_flash_size = 0;
typedef enum {
OTA_STATE_IDLE = 0,
OTA_STATE_WAITING_RANDOM, // 第二阶段等待随机数