Files

5.8 KiB
Raw Permalink Blame History

CCU621_M 应用软件主说明

本文档为 CCU621_M 项目主索引,覆盖当前 appBSP 的主要模块。
重点提供:启动入口、模块职责、文档导航(README <-> 各模块说明)。

1. 启动入口与分层关系

  • 程序入口:app/main.c
  • 硬件初始化入口:BSP/sys_drv_init.cv_sys_hardware_init()
  • 应用任务初始化入口:app/app_init/app_init.capp_os_init()

启动流程:

  1. main.c 执行基础启动;
  2. 调用 v_sys_hardware_init() 初始化底层驱动;
  3. 调用 app_os_init() 创建应用任务;
  4. vTaskStartScheduler() 启动调度。

2. app 模块功能说明(含文档跳转)

模块 主要职责 文档
app/app_init/ 应用任务表、任务创建、任务锁与测试入口管理 app_init模块说明
app/publicdata/ 公共数据结构、公共工具函数、参数/时间/编码基础能力 publicdata模块说明
app/mylog/ 日志输出管理(串口/UDP)、日志等级与模块开关 mylog模块说明
app/wdt_task/ 看门狗任务、任务健康监测与喂狗节拍 wdt_task模块说明
app/collect_ctrl/ 采集控制任务模板与周期调度框架 collect_ctrl模块说明
app/fault_cheak/ 实时故障管理、故障缓存处理、历史故障触发 fault_cheak模块说明
app/flowctrl/ 充电流程控制状态机、控制接口、流程保护逻辑 flowctrl模块说明
app/bms/ BMS 通信处理、协议状态机、超时与异常管理 bms模块说明
app/mdu_comm/ MDU 模块通信、报文收发与模块状态管理 mdu_comm模块说明
app/sub_comm/ 副板通信任务模板与副板协议接入扩展位 sub_comm模块说明
app/meter_calculate/ 电表采集任务、计量相关数据处理 meter_calculate模块说明
app/plat_comm/ 平台通信任务模板与对外对接扩展位 plat_comm模块说明
app/ui/ UI 通信、页面状态机、界面数据适配 ui模块说明
app/tcp_ser/ TCP 服务、协议解析、参数与历史记录交互 tcp_ser模块说明

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

4. 当前项目要点

  • app 任务模块框架已齐备:流程、BMS、MDU、平台、UI、TCP、计量、故障、日志、看门狗;
  • CAN 三路收发已打通,当前驱动主路径为 mailbox 模式(TX:MB0, RX:MB1);
  • 文档已统一到“模块内说明 + README 索引”的双向导航方式。

5. 运行时任务调度总览(FreeRTOS)

主调度入口为 app/main.cv_sys_hardware_init() 后调用 app_os_init() 创建任务并进入 vTaskStartScheduler()

各任务周期来自 app/app_init/app_init.c 的任务表(单位:ms,且为 FreeRTOS 周期调度睡眠时间):

  • EthIf1
  • TCP/IP1
  • BmsComm5
  • DataColl10
  • FlowCtrl20
  • FaultCheck50
  • MduComm50
  • SubComm50
  • PlatComm100
  • MyShell100(仅当 MY_SHELL_EN 打开)
  • UiComm100
  • WatchDog150
  • MeterColl200
  • Meterfee200
  • MyLog200
  • TcpSer200(仅当 TCP_DEBUG_EN 打开)
  • EthLink1000

6. 编译开关与调试入口

  • MY_SHELL_EN:shell 命令功能使能(条件编译影响任务表)
  • TCP_DEBUG_EN:TCP 调试服务器使能(条件编译影响 TcpSer 任务)
  • HTTP_DEBUG_ENHTTP 调试界面使能(默认关闭)

7. 文档互链(app