2525c2d948
用户裁定两条:① 剩余裸写端口的地方加「工厂默认」限定词,不改固件行为; ② 生效语义按需求口径「保存即生效」定,现实现(端口下次重 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 与凭证同码:本笔只碰注释与配图文字,无固件行为变更。
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-verifyskill 五步门禁;涉及字体:走font-regenskill
相关文档
docs/架构设计/图形绘制流程.md— 配图规范与选型docs/架构设计/引用关系图说明.mddocs/测试说明/测试工具/串口助手使用指南.md、docs/测试说明/测试工具/串口助手设计说明.md