cbb
|
7c05496b89
|
feat(spi): 更新SPI命令v2,处理逻辑和项目配置
- 在cproject.yml中添加spi_link模块组和相关头文件路径
- 修改boot_request.cpp中的ACK响应机制,改用标准帧格式并优化CAN反馈处理
- 重构ping.cpp响应payload结构,包含版本信息、运行时间等16字节数据
- 添加systick.h依赖用于获取系统运行时间
- 优化启动bootloader流程,避免SPI中断阻塞问题
|
2026-07-13 03:10:37 +08:00 |
|
cbb
|
33037bc5a3
|
feat(spi): 实现SPI同步通信协议和主动推送机制
- 实现新的SPI同步帧格式,采用0xA5 0x5A起始符和CRC32校验,提升通信可靠性
- 添加GD32与ESP32间的握手机制,通过PB6开漏输出实现SPIready线与控制
- 实现异步OTA启动机制,将Flash操作延迟到主循环执行,避免SPI ISR阻塞
- 改进CAN反馈命令处理,提取通用payload构建函数支持主动推送模式
- 实现GD32主动按铃机制,循环推送CAN反馈数据到ESP32,减少轮询开销
- 添加SPI通信超时保护和死锁防护机制,确保系统稳定性
|
2026-07-08 02:51:24 +08:00 |
|
cbb
|
d0b6d9537e
|
feat(device): 添加早期诊断功能并优化SPI通信实现
- 在startup_gd32e50x_cl.s中添加USART0早期诊断代码,在Reset_Handler中
发送'R'字符以确认启动过程
- 修改system_gd32e50x.c中的时钟初始化逻辑,支持动态检测当前时钟源
(PLL或IRC8M)并相应调整串口波特率设置
- 在系统时钟配置函数中添加HXTAL故障诊断输出,当外部晶振启动失败时
通过USART0输出"HXTAL FAIL"错误信息
- 在AppSpiCommand类中实现DMA传输机制,使用DMA0_CH2进行SPI0数据发送,
提升传输效率并与BOOT端保持一致
- 重构SPI命令处理逻辑,优化PING命令响应格式,包含APP和BOOT版本信息
以及运行时间统计
- 添加事务过滤机制,忽略全0xFF或全0x00的数据包以及短帧
- 更新配置文件定义APP固件版本号和OTA配置页面地址
- 修复region配置文件中的ROM大小数值精度问题
- 调整NVIC中断优先级设置,优化SPI中断处理
|
2026-06-03 03:13:49 +08:00 |
|
cbb
|
771d34398f
|
feat(core): OTA可用版本,添加看门狗功能并优化系统初始化日志
- 添加watchdog组件用于系统监控
- 在system_gd32e50x.c中增加USART0诊断输出,在IRC8M和PLL配置后
发送"APP"和"CLK"标识
- 优化AppSpiCommand类中的日志处理机制,使用临界区保护
- 添加对全0xFF数据包的过滤处理,避免无效命令处理
- 将OTA重启延时从滴答计数改为毫秒级延时,提高响应速度
- 移除温度传感器相关文件,添加看门狗相关文件到项目配置
- 更新FWDGT API调用方式,使用新的配置函数
- 增加详细的启动日志输出,便于调试和追踪初始化过程
|
2026-05-30 20:03:31 +08:00 |
|
cbb
|
f63114f5fd
|
feat(canfd): 切换 CANFD 接收为中断驱动和环形缓冲机制
- 将 CANFD 接收机制由轮询改为 FIFO0 的中断事件驱动处理
- 实现循环取空硬件 FIFO0,提高接收效率和响应速度
- 引入环形缓冲区缓存接收帧,支持多路通道多帧队列管理
- 置位解析任务标志位,实现接收数据的异步解析
- 增加接收中断统计,包括 FIFO 满和溢出计数
- 重构临界区代码,使用自定义函数保护中断状态
- 修改接收过滤器配置,支持按掩码匹配标准帧进入 FIFO0
- 使能 CAN FIFO0 多种中断标志,包括非空、满和溢出中断
|
2026-05-30 00:24:31 +08:00 |
|