Files
STM32F4-Base/App/app
wandering1 7b05d7bfd4 docs: 任务规划目录收缩——只留推进顺序与硬件缺陷,其余待办归模块文档
按用户裁定(2026-11-10)把 docs/任务规划/ 从"全量待办表"收成两个文件:

1. 登记簿.md 只记 V0.1 硬件缺陷 → V0.2 改版要求(双转换器无共同采样触发、
   IA 前端差分滤波限制谐波带宽)。原 §1/§2/§4/§5/§6/§7/§8/§9 的待办按
   "待办跟着所属模块走"清空,四类事实在删除前先落到新归属:
   - 两点标定开工前要先拍板的三件事 → 算法层设计说明 §13.13(新节)
   - 通讯设置页真机判据 → 网络配置说明 §3.6 内联
   - 缩堆迁 CCM 后半、开入开出重开条件 → 原本各模块文档即唯一权威
2. 暂缓-RS485.md 删除,其唯一不可丢的"采集链路测试可验证性约束"三条与
   完成判据并入 产品需求设计文档 §5.10。
3. 任务规划/README.md 去掉全部历史叙述(UI 补齐销项流水、net 收口过程、
   故障录波近千字台账),只留:怎么用、条目规则、生成物单写者纪律、
   推进顺序表(每行只写当前状态与卡点)、维护约定。

同步改写全库引用(约 60 处):AGENTS.md、docs/README.md、产品需求、UI、
子系统设计、内存管理、环境与部署、算法、测试说明、门禁说明、问题记录,
以及 App/ 与 Drivers/BSP/ 的头注释、脚本与 .pre-commit-config.yaml 注释。
顺带修掉三处已失效的引用目标:链路延迟测试的队列往返重验项改指实机测试
实施指南 §7.3;并行工作树的 <ID> 行去掉已退役的 N-x/S-x/T-x 编号族;
任务规划 README 的 §1 旧编号在技能示例里的引用。

门禁:check_doc_links --all --sections-strict 214 篇通过、无法判定 0;
pre-commit 全 Passed(doc-links / mermaid / 任务表 / 内存数字 / BOM /
UI 像素回归 / generated-fresh / layer-deps / bsp-err / skill-size);
keil-build 0 错误 0 警告(Code=255160 RO=31204 RW=2080 ZI=152152),
RAM 预算门禁 PASS(RW_IRAM1 73.9%、RW_CCM 87.9%)。
2026-11-10 20:33:30 +08:00
..

App/app/ — 应用入口与全局定义

应用层的入口与全局定义:初始化编排、功能编译开关、跨模块的就绪事件定义。

文件一览

文件 作用
app_main.c/h 应用初始化入口 app_main_init:时间子系统优先 → RS485 → NAND → ADC → 诊断(在 osKernelStart 之前执行)
app_cfg.h 功能裁剪的决策占位说明——2026-10-22 起不含任何宏(原 3 个 APP_*_ENABLE 零消费点,已删;接回方法见该文件修改记录 v1.2)
sys_events.h 系统就绪事件定义(CMSIS-RTOS v2 Event Flags:SYS_EVT_NET_READY / SYS_EVT_STORAGE_READY / SYS_EVT_FTP_READY / SYS_EVT_TIMESYNC_READY 及命令位)

初始化顺序(app_main_init)

sd2506_init            // 时间子系统优先,使后续日志带时间戳
sys_clock_init         // 墙钟(RTC 故障降级并返回 -1 → 触发自检)
rs485_init
gd5f2gq5ue_init
tpafe5160_init
SD2506 诊断            // ID / 时间 / 温度 / 电池
tpafe5160_start_conv_irq  // 首次 ADC 转换

⚠️ 以上全部在内核启动前执行 → 禁止任何 FreeRTOS/CMSIS-RTOS API 调用 (osMessageQueueNew 等会杀死启动)。内核前日志走无锁静态缓冲(见 ../log/)。

相关文档

  • 架构全景:docs/架构设计/项目架构总览.md
  • 启动顺序与就绪屏障:docs/架构设计/项目启动顺序管理.md
  • 墙钟:docs/子系统设计/系统墙钟时间维护说明.md