Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+114
View File
@@ -0,0 +1,114 @@
# CCU621_M 应用软件主说明
> 本文档为 `CCU621_M` 项目主索引,覆盖当前 `app` 与 `BSP` 的主要模块。
> 重点提供:启动入口、模块职责、文档导航(README <-> 各模块说明)。
## 1. 启动入口与分层关系
- 程序入口:`app/main.c`
- 硬件初始化入口:`BSP/sys_drv_init.c``v_sys_hardware_init()`
- 应用任务初始化入口:`app/app_init/app_init.c``app_os_init()`
启动流程:
1. `main.c` 执行基础启动;
2. 调用 `v_sys_hardware_init()` 初始化底层驱动;
3. 调用 `app_os_init()` 创建应用任务;
4. `vTaskStartScheduler()` 启动调度。
---
## 2. app 模块功能说明(含文档跳转)
| 模块 | 主要职责 | 文档 |
|---|---|---|
| `app/app_init/` | 应用任务表、任务创建、任务锁与测试入口管理 | [app_init模块说明](./app/app_init/app_init模块说明.md) |
| `app/publicdata/` | 公共数据结构、公共工具函数、参数/时间/编码基础能力 | [publicdata模块说明](./app/publicdata/publicdata模块说明.md) |
| `app/mylog/` | 日志输出管理(串口/UDP)、日志等级与模块开关 | [mylog模块说明](./app/mylog/mylog模块说明.md) |
| `app/wdt_task/` | 看门狗任务、任务健康监测与喂狗节拍 | [wdt_task模块说明](./app/wdt_task/wdt_task模块说明.md) |
| `app/collect_ctrl/` | 采集控制任务模板与周期调度框架 | [collect_ctrl模块说明](./app/collect_ctrl/collect_ctrl模块说明.md) |
| `app/fault_cheak/` | 实时故障管理、故障缓存处理、历史故障触发 | [fault_cheak模块说明](./app/fault_cheak/fault_cheak模块说明.md) |
| `app/flowctrl/` | 充电流程控制状态机、控制接口、流程保护逻辑 | [flowctrl模块说明](./app/flowctrl/flowctrl模块说明.md) |
| `app/bms/` | BMS 通信处理、协议状态机、超时与异常管理 | [bms模块说明](./app/bms/bms模块说明.md) |
| `app/mdu_comm/` | MDU 模块通信、报文收发与模块状态管理 | [mdu_comm模块说明](./app/mdu_comm/mdu_comm模块说明.md) |
| `app/sub_comm/` | 副板通信任务模板与副板协议接入扩展位 | [sub_comm模块说明](./app/sub_comm/sub_comm模块说明.md) |
| `app/meter_calculate/` | 电表采集任务、计量相关数据处理 | [meter_calculate模块说明](./app/meter_calculate/meter_calculate模块说明.md) |
| `app/plat_comm/` | 平台通信任务模板与对外对接扩展位 | [plat_comm模块说明](./app/plat_comm/plat_comm模块说明.md) |
| `app/ui/` | UI 通信、页面状态机、界面数据适配 | [ui模块说明](./app/ui/ui模块说明.md) |
| `app/tcp_ser/` | TCP 服务、协议解析、参数与历史记录交互 | [tcp_ser模块说明](./app/tcp_ser/tcp_ser模块说明.md) |
---
## 3. BSP 模块功能说明
| 模块 | 主要职责 | 关键文件 |
|---|---|---|
| `BSP/sys_drv_init.*` | NVIC/MPU/Cache 与底层驱动初始化编排 | `sys_drv_init.c/h` |
| `BSP/freertos/` | RTOS 配置与系统任务辅助接口 | `FreeRTOSConfig.h`, `app_freertos.c/h` |
| `BSP/net_lwip/` | 以太网和 lwIP 网络栈配置 | `lwipopts.h`, `netconf.c/h`, `net_init.c/h` |
| `BSP/com/` | 串口驱动与统一收发接口 | `usart.c/h` |
| `BSP/can/` | 三路 CAN 统一驱动接口 | `can.c/h` |
| `BSP/eeprom/` | EEPROM 驱动与读写封装 | `i2c1.c/h`, `fm24cl16.c/h` |
| `BSP/externalflash/` | SPI 外部 Flash 驱动与统一读写接口 | `exflash_spi4_gd25qxx.c/h`, `flash_external_data.c/h` |
| `BSP/flash_file_mgr/` | 历史故障持久化管理 | `fault_flash_impl.c/h` |
| `BSP/rtc/` | RTC 读写、时间换算与同步 | `rtc.c/h` |
| `BSP/pin_config_table.md` | BSP 引脚总表(DO/DI/UART/CAN/I2C/SPI/NAND/ENET | [pin_config_table](./BSP/pin_config_table.md) |
---
## 4. 当前项目要点
- `app` 任务模块框架已齐备:流程、BMS、MDU、平台、UI、TCP、计量、故障、日志、看门狗;
- CAN 三路收发已打通,当前驱动主路径为 mailbox 模式(TX:MB0, RX:MB1);
- 文档已统一到“模块内说明 + README 索引”的双向导航方式。
---
## 5. 运行时任务调度总览(FreeRTOS)
主调度入口为 `app/main.c``v_sys_hardware_init()` 后调用 `app_os_init()` 创建任务并进入 `vTaskStartScheduler()`
各任务周期来自 `app/app_init/app_init.c` 的任务表(单位:ms,且为 FreeRTOS 周期调度睡眠时间):
- `EthIf`1
- `TCP/IP`1
- `BmsComm`5
- `DataColl`10
- `FlowCtrl`20
- `FaultCheck`50
- `MduComm`50
- `SubComm`50
- `PlatComm`100
- `MyShell`100(仅当 `MY_SHELL_EN` 打开)
- `UiComm`100
- `WatchDog`150
- `MeterColl`200
- `Meterfee`200
- `MyLog`200
- `TcpSer`200(仅当 `TCP_DEBUG_EN` 打开)
- `EthLink`1000
## 6. 编译开关与调试入口
- `MY_SHELL_EN`:shell 命令功能使能(条件编译影响任务表)
- `TCP_DEBUG_EN`:TCP 调试服务器使能(条件编译影响 `TcpSer` 任务)
- `HTTP_DEBUG_EN`HTTP 调试界面使能(默认关闭)
---
## 7. 文档互链(app
- [app_init模块说明](./app/app_init/app_init模块说明.md)
- [publicdata模块说明](./app/publicdata/publicdata模块说明.md)
- [mylog模块说明](./app/mylog/mylog模块说明.md)
- [wdt_task模块说明](./app/wdt_task/wdt_task模块说明.md)
- [collect_ctrl模块说明](./app/collect_ctrl/collect_ctrl模块说明.md)
- [fault_cheak模块说明](./app/fault_cheak/fault_cheak模块说明.md)
- [flowctrl模块说明](./app/flowctrl/flowctrl模块说明.md)
- [bms模块说明](./app/bms/bms模块说明.md)
- [mdu_comm模块说明](./app/mdu_comm/mdu_comm模块说明.md)
- [sub_comm模块说明](./app/sub_comm/sub_comm模块说明.md)
- [meter_calculate模块说明](./app/meter_calculate/meter_calculate模块说明.md)
- [plat_comm模块说明](./app/plat_comm/plat_comm模块说明.md)
- [ui模块说明](./app/ui/ui模块说明.md)
- [tcp_ser模块说明](./app/tcp_ser/tcp_ser模块说明.md)