f5902bcc21
两篇规划期文档改成对当前系统的描述,档名统一去掉"设计说明"的"说明"。 运行与自检记录: - 旧档重写为现状版(10 节:概览 / 记录布局 / 写入路径 / 读取与呈现 / 事件分类 / 控制台日志 / 双端差异 / 内存 / 异常恢复 / 自测要点), 删掉需求表、调研摘要、模块清单动作列、实施步骤与开放问题。 - 按代码纠正:七类记录齐备(原文只写了两类)、自检描述串换成实际 落盘的 28 条、待机阈值以 ui_tokens.h 为准、记录页已走 ui_w_records 共享组件、容量满只删该文件而非整卷清空。 - 待机屏移出本篇:它不属于日志,归 UI 侧;内容页架构补"待机屏 (覆盖层)"一节,产品需求 FR-LOG-3 拆成单纯的上电/重启分类, 待机显示归口已有的 FR-UI-3。 ADC 采样节拍: - §4.5 从 45 行压到 24 行,只留规则 / 违反的代价 / 为什么 / 兜底与 档案指针;九路置换实测表、A/B 对照、探针计数等取证归 ADC_Trap_Records.md 的 TRAP-ADC-01(那里已有完整档案)。 - adc1_gap 字段去掉"2026-10-21 起、此前固件为次数"的修订记录式括号。 - app_main.c 的注释改为指向 TRAP-ADC-01 取证、§4.5 设计口径。 引用同步:两个旧档名全仓替换(含代码注释、角色档、归档 id 表), 旧名残留 0;对 ADC 篇的 § 引用逐条复核落在真实章节上。 验证:48 个提交期钩子全通过,check_doc_links --sections-strict 通过。
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