test(fw-stamp): 身份戳覆盖测试宏——头依赖 + suite/dstr 变体串
问题:__DATE__/__TIME__ 只在所属 TU 被重编时才刷新,而 app_main.c 不依赖 test/board/test_config.h → 只切套件宏的增量构建不重编它,测试镜像与产品 镜像顶着同一个 fw build: 戳,@test 的戳校验对"两种构建互换"完全失明 (2026-10-11 N-31 复测实测:两者戳同为 Oct 11 2026 14:44:11,只有 -CmpFile 回读才发现镜像不同)。 修复(App/app/app_main.c,两条防线): - #include "test_config.h" 建立头依赖 → 改 TEST_SUITE_* / ENABLE_DESTRUCTIVE_TESTS 必重编本 TU,戳必刷新(根因修复) - 戳串追加 FW_BUILD_VARIANT = " suite=<TEST_SUITE_NAME> dstr=<on|off>" → 戳内容本身区分构建,时间撞车也能分辨 实测:产品 20:36:11 suite=NONE dstr=off ↔ 测试 20:36:40 suite=CH395F dstr=on ↔ 还原宏后 20:36:55 suite=NONE dstr=off(时间戳每次都变 = 头依赖 真的生效)。@test 全闭环 PASS:戳匹配 + 回读 No difference found + 锚点 x1 + 零 [ERR]。run_boot_test.py 无需改动(戳按"标记后连续可打印 ASCII"抠取,天然吃下新后缀)。 代价:Code 196764 → 196788(+24 B),@build 0 错 0 警。 文档:自动化测试流程.md 补「戳覆盖构建配置」小节与变更记录行;失败模式 表新增一行——戳命中但 suite= 与要跑的套件不符 = 烧的是产品镜像。 门禁:mem-numbers 钩子拦下「RAM 文档快照与 .map 不一致」→ 用 check_mem_numbers.py --write 刷新生成区(ER_IROM1 213,256 → 213,396 B)。
This commit is contained in:
@@ -36,10 +36,10 @@
|
||||
<!-- MEM_SNAPSHOT:BEGIN generated by scripts/check_mem_numbers.py -->
|
||||
| 区域 | 用量 | 容量 | 占比 |
|
||||
|---|---|---|---|
|
||||
| ER_IROM1 | 213,256 B (208.26 KB) | 1,048,576 B (1024 KB) | 20.3% |
|
||||
| ER_IROM1 | 213,396 B (208.39 KB) | 1,048,576 B (1024 KB) | 20.4% |
|
||||
| RW_IRAM1 | 94,768 B (92.55 KB) | 131,072 B (128 KB) | 72.3% |
|
||||
| RW_CCM | 49,184 B (48.03 KB) | 65,280 B (64 KB) | 75.3% |
|
||||
| **Flash (ROM 合计)** | **214,224 B (209.2 KB)** | 1,048,576 B (1024 KB) | **20.4%** |
|
||||
| **Flash (ROM 合计)** | **214,364 B (209.3 KB)** | 1,048,576 B (1024 KB) | **20.4%** |
|
||||
<!-- MEM_SNAPSHOT:END -->
|
||||
|
||||
各区的容量与常量来源:
|
||||
|
||||
Reference in New Issue
Block a user