Files
CCU621M/README.md
T

115 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)