Files
STM32F4-Base/tools
wandering1 2525c2d948 docs(104): 端口口径统一成「工厂默认」,登记「改后立即重 bind」待办
用户裁定两条:① 剩余裸写端口的地方加「工厂默认」限定词,不改固件行为;
② 生效语义按需求口径「保存即生效」定,现实现(端口下次重 bind 才生效)是
要改的一侧 → 建任务登记,本笔不动代码行为。

限定词(24 处 / 17 文件):AGENTS 数据主线、App/protocol/README、根 README
文档索引、Src/freertos.c 三处任务注释、docs/README、项目启动顺序管理、存储
架构说明、软件架构与运行时规格(2)、RAM 使用分析、产品需求设计文档(5)、
项目架构总览(3)、test/host/README、iec104_master 流程注释、IEC104 上行设
计说明、继电保护功能复现规划。配图两张同批重跑:gen_arch_svg.py 与
gen_memory_svg.py(脚本与产物同一笔)。

两处陈旧计数(都做过双源核证):
- 测试开发标准流程 像素层「60 内容页」→ 内容页黄金参考 66 张(64 页);
  双源 = simulator/tests/ref/shot_*.bin 实数 66 与 check_content_pages.py
  的 PAGES 66 条(含两个 _p2)。
- .pre-commit-config.yaml 的 uinav-selftest 注释「18 张黄金参考」→ 写成
  「接线当时 18 张、现 66 张」:git log -S 定到 6a904c1b(2026-10-25),那
  天 ref 目录确实 18 张,写时为真,但它描述的是钩子现有行为,属当前态。

口径修正与登记:
- 页面扩充详细方案「通讯设置 = 无配置模型(端口与 CA 都是 #define)」→ 标
  「当时」,并写明现已在 /config.ini 的 [comm] 段可配、UI 通讯设置页可改。
- 产品需求 §通讯配置:删掉「改后需重启生效」这句把两件事混为一谈的话,改成
  需求要求「保存即生效」+ 现实现(公共地址重启、端口下次重 bind)+ 指向登记簿。
- docs/任务规划/登记簿.md §1 新增「104 端口改后立刻重 bind」:含隐性耦合
  —— .serialtest/config.json 的必检锚点写死 listening on 2404,端口一改串口
  回归必假失败;改行为时要么锚点只查 listening on,要么由脚本注入端口。

复扫(旧形态归零判据)剩 20 处未带限定词,逐条定性为刻意不改:默认值定义处、
出厂模板与断言、usage 与 argparse default、UI 黄金参考显示值、台架主站地址
(同数不同义)、串口锚点、叙事句、引用关系图坐标。逐条理由见一次性台账。

门禁:check_doc_links --sections-strict 对 16 篇改动 .md 逐个 rc=0;
check_mermaid --all 31 文件 62 围栏新发 0;check_nested_comment --all 449
文件新发 0;check_bom_drift --all 99 个名单内文件无漂移;
check_generated_fresh PASS(25 生成器 / 21 一致 / 4 只减不增基线);字节体检
无新增 BOM / CR / U+FFFD / 行尾空格(三连空行与 HEAD 逐项相同 = 存量)。
/keil-build 0 错 0 警,Program Size Code=246720 RO=29836 RW=2052 ZI=149708
与凭证同码:本笔只碰注释与配图文字,无固件行为变更。
2026-10-30 15:40:27 +08:00
..

tools/ — 开发工具

面向开发者的功能性工具(生成器 / 转换器 / 交互工具)。 与 scripts/(质量门禁与度量)分工不同:本目录产出资产(图、字体、代码、知识库)。

工具一览

目录 工具 产物 文档
arch_diagram/ 架构图 SVG 生成器 docs/images/*.svg docs/架构设计/图形绘制流程.md
font_gen/ 中文字库生成 Drivers/BSP/UI/ui_font_cn_12.c docs/UI设计/UI_中文字体生成与配置.md
menu_gen/ 菜单树代码生成 UI 菜单代码 docs/UI设计/菜单页面设计.md
netlist_semantics/ 网表语义分析 引脚知识库 JSON + 网表报告 docs/硬件平台/
refgraph/ 文件引用关系图 docs/images/引用关系图.* docs/架构设计/引用关系图说明.md

使用方式

# 架构图(精确布局)
& '.venv\Scripts\python.exe' tools/arch_diagram/gen_memory_svg.py

# 中文字体(含新汉字文案后必须重跑)
& '.venv\Scripts\python.exe' tools/font_gen/make_font.py

# 引用关系图
& 'tools\refgraph\gen_refgraph.bat'

# 串口助手(常驻 daemon)
& '.venv\Scripts\python.exe' .dsh/skills/serial-assistant/scripts/serial_tool.py

⚠️ 约定

  • 生成器的产物与脚本一并提交(如 SVG);本地预览产物(如 PNG)不提交
  • 图表选型:精确布局图用 arch_diagram/ 生成器;拓扑图(流程/时序/状态机)用 Mermaid; 勿手绘 ASCII 框图(见 docs/架构设计/图形绘制流程.md)
  • 涉及 UI 改动:走 ui-verify skill 五步门禁;涉及字体:走 font-regen skill

相关文档

  • docs/架构设计/图形绘制流程.md — 配图规范与选型
  • docs/架构设计/引用关系图说明.md
  • docs/测试说明/测试工具/串口助手使用指南.md、docs/测试说明/测试工具/串口助手设计说明.md