refactor(device): 重构SPI命令处理为模块化架构

- 将原有的 monolithic app_spi_command.cpp 拆分为多个专门的命令处理器文件
- 新增 spi_command_handler.h 定义命令处理器接口和上下文结构
- 新增 app_spi_command_defs.h 提取公共协议常量定义
- 新增多个具体命令处理器实现文件:
  - app_spi_cmd_boot_request.cpp (进入Bootloader命令)
  - app_spi_cmd_ota_wait.cpp (OTA等待响应命令)
  - app_spi_cmd_ping.cpp (APP心跳ping命令)
  - app_spi_cmd_can_bridge.cpp (SPI到CAN桥接命令)

- 修改 app_spi_command.cpp 仅负责SPI链路管理和命令路由逻辑
- 更新配置文件添加新源文件到项目编译列表
- 调整全局实例为对象实例(AppSpiCommandBus),移除静态方法依赖
- 更新README文档说明新的SPI命令总线拆分架构
- 微调版本号(patch: 0 -> 1, build: 2 -> 0)
This commit is contained in:
cbb
2026-06-23 01:49:33 +08:00
parent 01382a3fc1
commit dc91883f1e
14 changed files with 580 additions and 273 deletions
+12 -2
View File
@@ -1,4 +1,4 @@
# GD32E508_DCU_APP README
# GD32E508_DCU_APP README
本 README 用来介绍 `/workzone/ROBOT_V2/DCU/DCU_APP/GD32E508_DCU_APP` 目录下各个代码文件的作用、分层关系和阅读顺序。
@@ -10,7 +10,7 @@
- **应用入口层**:`main.cpp` / `main.h`
- **系统层(sys)**:负责初始化、节拍、任务调度、任务执行
- **设备层(device)**:负责 ADC、CANFD、Timer、串口、温度采样封装
- **设备层(device)**:负责 ADC、CANFD、Timer、串口、温度采样封装,以及 SPI 命令总线与命令处理器拆分
- **RTE / Device 层**:芯片启动文件、链接脚本、厂商外设驱动
当前整体执行逻辑是:
@@ -201,6 +201,16 @@
## 5. 设备层 `device/` 文件说明
### SPI 命令总线拆分说明
- `device/spi_command_handler.h`:SPI 命令处理器抽象与上下文结构。
- `device/app_spi_command_defs.h`:APP 运行期 SPI 协议公共常量。
- `device/app_spi_command.cpp`:当前仅负责 SPI 链路和命令路由。
- `device/app_spi_cmd_boot_request.cpp`:进入 Bootloader 的 SPI 命令处理器。
- `device/app_spi_cmd_ota_wait.cpp`:OTA 相关命令的 WAIT 响应处理器。
- `device/app_spi_cmd_ping.cpp`:APP Ping 命令处理器。
- `device/app_spi_cmd_can_bridge.cpp`:SPI→CAN 桥接命令处理器。
- 新增 SPI 业务时优先新增 `device/app_spi_cmd_*.cpp`,而不是继续膨胀 `app_spi_command.cpp`。
### `device/adc.h`
**作用:**
- 定义 ADC 采样结果结构 `adc_sample_t`