docs/ 文档索引
定位:本目录是 STM32F4-Base 项目的工程文档库——架构设计、子系统设计、测试规范、问题记录(含专项审计与评审报告)与外部资料。
权威入口:日常开发以仓库根 AGENTS.md(面向 AI/开发者)为第一入口;本文档提供人类可读的全量索引与推荐阅读顺序。
约定:目录名不含空格;新增文档必须登记到本索引(见文末「新增文档约定」)。
1. 目录结构
⚠️ docs/芯片手册/(约 120 MB / 1754 张图)为只读外部输入资料,与代码演进无关;
后续按《项目审查与优化建议报告》D-1 建议拆分独立仓库或降采样(见 问题记录/项目审查与优化建议报告.md)。
2. 推荐阅读顺序
新成员/新接手者按此顺序,可在最短时间内建立全局认知:
按角色:
- 应用/驱动开发 → §4 架构设计 → §5 子系统设计 → §7 问题记录(改驱动前必读对应 Trap Records)
- 测试/验证 → §6 测试说明 → §9.2 环境与部署
- UI 开发 → §8 UI 设计 → §6 测试说明(串口助手、UI 自动化测试流程)
- 接手/评审 → §9.1 评审报告 → §9.3 待处理内容(统一待办登记簿)
3. 产品需求
| 文档 |
内容 |
产品需求设计文档.md |
面向产品的需求基线:产品定位与形态、六层架构与任务模型、V0.1 硬件规格、功能需求(网络/存储/时间/配置/日志/UI/看门狗/LED + 待实现的 ADC/RS-485)、接口规范(RemoDispBus / 对时 / FTP / 配置 / 串口)、非功能需求(可靠性/性能/内存/门禁/双端)、UI 规格、待实现项与路线图、验收判据 |
4. 架构设计
5. 子系统设计
5.1 功能子系统
5.2 算法专题
| 文档 |
内容 |
傅氏算法详解.md |
全周波傅氏(单频 DFT)原理与工程实现:正交性、梳状带通、滑动窗、系数表折算有效值;保护/遥测双轨有效值的算法基础 |
继电保护功能复现规划.md |
保护功能复现规划:把参考系统(CLS100)保护链路映射到本项目(STM32F4)的分层功能/性能/参数清单、平台适配(N-18 等)与分阶段路线图 |
6. 测试说明
总流程与规范
| 文档 |
内容 |
测试开发标准流程.md |
测试开发总流程:规划→板端套件→主机工具→门禁→沉淀;门禁决策表 |
自动化测试流程.md |
@test 闭环细节:命令 / 串口标记 / 失败模式 |
测试文档模板规范.md |
测试文档模板与命名规则(TM / TC / DP) |
链路延迟测试说明.md |
网络链路时延分段定义、判定基线、执行流程 |
模拟器差距清单.md |
PC 模拟器 vs 真机差距登记册(L3 门禁可信度依据;改动涉及网络/日志/硬件层前必查 §3 决策规则) |
实机测试实施指南.md |
上板(真机)测试执行流程(按顺序:环境预检 → @test+自检判定 → IWDG 注入/长跑 → 堆告警 → GD5F 错误通道 → 网络基线 → 工程卫生;每步含判据/命令/状态);已完成事项证据去向见 §10 |
主机侧单元测试(L0.5)
| 文档 |
内容 |
看门狗单元测试说明.md |
Task Watchdog 判定状态机(位图 / 掩码 / 节流 / tick 回绕),39 用例 |
系统时钟单元测试说明.md |
sys_clock 时间换算 / 星期 Zeller / 30 天惰性再基准化 / RTC 故障降级,100 断言点 |
配置文件单元测试说明.md |
cfg_file INI 解析 / 值编解码 / load-save-poll 契约 / 超长守卫,139 断言点(含抓出的外科手术保存死码 P0) |
模块测试指南(动手写测试前先读)
工具与运维
UI 相关测试见 UI设计/UI_自动化测试流程.md。
7. 代码规范 · 文档规范 · 内存管理 · 问题记录
7.1 代码规范(提交门禁相关)
7.1b 文档规范(写/改文档前必读)
| 文档 |
内容 |
文档规范.md |
文档体系强制约定:目录/命名(无空格)、编码换行、链接形态(互链用根相对、图片用目录相对)、[计划] 标记、门禁三档、结构要素与常见错误速查 |
7.2 内存管理(新增任务/缓冲/栈前必读)
7.3 问题记录(改驱动前必读)
8. UI 设计
9. 评审报告 · 环境与部署 · 外部资料
9.1 评审报告
| 文档 |
内容 |
问题记录/项目审查与优化建议报告.md |
项目全景审查:文档/代码/架构/可靠性问题清单(D-1~D-7、N-xx、Px-xx)——体系层评审报告,非待办池(待办见 §9.3 待处理内容.md) |
9.2 环境与部署
9.3 台账与外部资料
| 位置 |
内容 |
待处理内容.md |
统一待办登记簿——审计缺陷(P-x)+ 台架/审计观察(N/S/T-x)+ 测试与架构专项(S1x/A-x)+ 任务排序(阶段 A/B/C/D)+ 诊断基线;只保留未闭环项,完成即删 |
硬件平台/ |
网表详细分析报告与语义图(V0.0 / V0.1);ADC通道映射说明.md——V0.1 十七路 ADC 语义/网名/通道号权威映射表(固件取数、UI 显示、自检注入以此为准) |
芯片手册/ |
外部芯片数据手册转录(CH395F / GD5F2GQ5UE / SD2506 / TPAFE5160 / RTL8305NBI 等) |
images/ |
文档技术配图(.svg 产物,由 tools/arch_diagram/、tools/refgraph/ 生成) |
10. 新增文档约定
- 目录归属:按上表选目录;新子领域先建无空格目录名(如
xxx设计/),并在此索引登记。
- 命名:主题词 + 类型后缀(
xxx设计说明.md / xxx_Test_Guide.md / xxx_Trap_Records.md)。
- 登记:新增文档必须在本文档对应章节补一行;否则视为未完成。
- 链接:文档间引用统一用仓库根相对路径(
docs/xxx/yyy.md),不使用 ../ 相对链接。
- 配图:走
架构设计/图形绘制流程.md(draw-diagram skill),产物统一放 images/,脚本与 .svg 一并提交。
- 门禁:文档提交同样过 pre-commit(乱码 / 行尾空白 / gitlint + 文档链接存在性
doc-links / 任务表一致性 task-table,见 文档规范.md §4 与 代码规范/pre-commit使用说明.md)。
目录/文件名一律不含空格(D-6,2026-09-25 起强制):空格会迫使脚本、链接、CI 处处加引号,
且 URL 编码形态(UI%20设计)易被漏改。现全库已无含空格目录。
11. 已知文档问题(待清理)
来源:《项目审查与优化建议报告》D-3/D-7。
D-3 / D-6 / D-7 已处理完毕(2026-09-25):全库链接存在性检查通过(66 文档 0 失效)、任务表与
Src/freertos.c 一致、文档规范已建立。下表保留仍需跟踪的项。
| 问题 |
位置 |
说明 |
| 指向未实现工具 |
UI_界面制作流程.md、UI_自动化测试流程.md → tools/ui_mock/ |
文档承诺了未实现的 UI 渲染/比对工具(其引用已按 §3.3 标注「已删除」状态词) |
| 产物缺失 |
内存管理/RAM使用分析与优化方案.md → scripts/ram_baseline.tsv |
方案写了、工具未建(引用已加 [计划] 标记) |
目录名含空格 |
UI 设计/ |
✅ 已修复(2026-09-25,D-6):改名为 UI设计/,全仓库 67 处引用同步;命名约定见 文档规范.md §1 |
缺一致性门禁 |
— |
✅ 已落地(2026-09-25/26,D-7 三档齐):scripts/check_doc_links.py(存在性)+ scripts/gen_task_table.py(数值)+ scripts/check_mem_numbers.py(体积),接入 pre-commit doc-links / task-table / mem-numbers 钩子 |
docs/文档规范.md 未创建 |
— |
✅ 已创建(2026-09-25):文档规范.md |
完整清单与建议见 问题记录/项目审查与优化建议报告.md §3.3。
12. 变更记录
| 日期 |
变更 |
说明 |
| 2026-10-10 |
新增子系统设计 |
新建 docs/子系统设计/ADC采样节拍设计说明.md(ADC 采集链路 1 kHz 硬件定时器触发的 CubeMX 配置规格与代码改造清单,B1 遗留项规划);本索引 §5.1 补登记 |
| 2026-10-10 |
新增算法专题 |
新建 docs/算法/继电保护功能复现规划.md(保护链路复现总规划);本索引 §1 目录树补 算法/、§5 拆为 5.1 功能子系统 / 5.2 算法专题并登记 算法/ 两篇文档 |
| 2026-10-05 |
新增产品需求文档 |
新建 docs/产品需求/产品需求设计文档.md(面向产品的需求基线);本索引新增 §3 产品需求、§2 推荐阅读顺序置顶、§1 目录树补 产品需求/;后续章节号顺延(架构设计 §4 … 变更记录 §12) |
| 2026-09-25 |
目录重组 + 索引建立 |
顶层 16 篇散落 md 归入 5 个新目录(架构设计/ 子系统设计/ 网络/ 审查记录/ 环境与部署/);全仓库 90 处引用同步;新建本索引(D-5) |
| 2026-09-25 |
D-6 目录去空格 |
docs/UI 设计/ → docs/UI设计/;全仓库 67 处引用同步(含 URL 编码形态 UI%20设计);命名约定写入 §10 |
| 2026-09-25 |
D-7 文档-代码一致性门禁 |
新建 scripts/check_doc_links.py(链接存在性,含行内代码豁免/就近状态词/[计划] 标记)、scripts/gen_task_table.py(任务表由 Src/freertos.c 生成/校验,锚点 TASK_TABLE:BEGIN/END);接入 pre-commit doc-links/task-table 钩子;全库 66 文档 0 失效 |
| 2026-09-26 |
D-7 体积档落地 |
新建 scripts/check_mem_numbers.py(内存/Flash 数字以 .map 为事实源,锚点 MEM_SNAPSHOT:BEGIN/END + 陈旧散句数字扫描);接入 pre-commit mem-numbers 钩子;上线即抓出 6 处真实失真(RW_IRAM1 82,048→87,040、ROM 249,432→262,660 等) |
| 2026-09-25 |
新建 文档规范.md |
正式确立文档体系规范(目录命名/编码换行/链接形态/门禁/结构/写作约定);补入本索引 §7.1b |
| 2026-10-04 |
待办文档合并 + 报告归档 |
4 份待办文档(待处理内容.md / 项目审计改进清单.md / 下一步任务规划.md / 测试与架构改进建议.md)合并为统一待办登记簿 待处理内容.md;项目审查与优化建议报告.md 移入 问题记录/,删除 审查记录/ 目录;全仓库引用同步 |