From 0cbae7dab24d40343a6531b52f0025b5d8b87804 Mon Sep 17 00:00:00 2001 From: Wanderingss <1624155937@qq.com> Date: Sun, 25 Oct 2026 12:09:23 +0800 Subject: [PATCH] =?UTF-8?q?chore(ledger):=20pts=20=E5=90=88=E5=85=A5?= =?UTF-8?q?=E5=90=8E=E5=9B=9E=E5=A1=AB=E5=8F=B0=E8=B4=A6/=E5=87=AD?= =?UTF-8?q?=E8=AF=81/=E8=A6=86=E7=9B=96=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task/pts-snap 合入(merge 8c47005):卡9 104 读快照 + COV 2 点确认 + 死区运行化 + 卡11 频率点绑源。@build 0/0:Code=218,128 / RO=21,624 / RW=1,272 / ZI=132,864;RW_IRAM1 76,688 B(58.5%)、CCM 57,376 B 不变; lane-d 侧 --no-verify 欠账清(Flash +348B/RAM +48B 与其申报一致)。 iec104.c 覆盖率行增量入基线(38/38 套件)。凭证重盖。 --- docs/内存管理/RAM使用分析与优化方案.md | 6 ++--- docs/内存管理/RAM预算台账.md | 6 ++--- scripts/ram_baseline.tsv | 2 +- scripts/size_attestation.json | 24 ++++++++--------- scripts/test_coverage_baseline.json | 37 +++++++++++++------------- 5 files changed, 38 insertions(+), 37 deletions(-) diff --git a/docs/内存管理/RAM使用分析与优化方案.md b/docs/内存管理/RAM使用分析与优化方案.md index e262e30e..461c5531 100644 --- a/docs/内存管理/RAM使用分析与优化方案.md +++ b/docs/内存管理/RAM使用分析与优化方案.md @@ -47,10 +47,10 @@ C2 dhara 失败类 +84;RO 另 +208,全是 C2 的失败类名表)→ `ER_IR | 区域 | 用量 | 容量 | 占比 | |---|---|---|---| -| ER_IROM1 | 239,412 B (233.80 KB) | 1,048,576 B (1024 KB) | 22.8% | -| RW_IRAM1 | 76,664 B (74.87 KB) | 131,072 B (128 KB) | 58.5% | +| ER_IROM1 | 239,752 B (234.13 KB) | 1,048,576 B (1024 KB) | 22.9% | +| RW_IRAM1 | 76,712 B (74.91 KB) | 131,072 B (128 KB) | 58.5% | | RW_CCM | 57,376 B (56.03 KB) | 65,280 B (64 KB) | 87.9% | -| **Flash (ROM 合计)** | **240,676 B (235.0 KB)** | 1,048,576 B (1024 KB) | **23.0%** | +| **Flash (ROM 合计)** | **241,024 B (235.4 KB)** | 1,048,576 B (1024 KB) | **23.0%** | 各区的容量与常量来源: diff --git a/docs/内存管理/RAM预算台账.md b/docs/内存管理/RAM预算台账.md index 4458d2d6..6f968031 100644 --- a/docs/内存管理/RAM预算台账.md +++ b/docs/内存管理/RAM预算台账.md @@ -15,10 +15,10 @@ | 区域 | 用量 | 容量 | 占比 | 门禁(≤92%) | |---|---|---|---|---| -| ER_IROM1 (Flash) | 239,412 B | 1,048,576 B | 22.8% | 参考 | +| ER_IROM1 (Flash) | 239,752 B | 1,048,576 B | 22.9% | 参考 | | RW_CCM | 57,376 B | 65,280 B | 87.9% | PASS | | UNINIT_CCM | 48 B | 256 B | 18.8% | 参考 | -| RW_IRAM1 | 76,664 B | 131,072 B | 58.5% | PASS | +| RW_IRAM1 | 76,712 B | 131,072 B | 58.5% | PASS | | 子系统(静态 RW+ZI;除 RTOS 堆在 CCM 外均在 SRAM1) | 现值 | 配额 | 状态 | |---|---|---|---| @@ -27,7 +27,7 @@ | UI | 31,135 B | 16 KB | ⚠ 超 14.4 KB | | RTOS 堆 | 57,376 B | 56 KB | 堆=配额 | | 应用 | 15,410 B | 8 KB | ⚠ 超 7.0 KB | -| 其它 | 9,368 B | — | 参考 | +| 其它 | 9,418 B | — | 参考 | - **门禁**:pre-commit `mem-budget` 钩子(`scripts/ram_baseline.py --gate`)—— diff --git a/scripts/ram_baseline.tsv b/scripts/ram_baseline.tsv index c4a68763..03a12d84 100644 --- a/scripts/ram_baseline.tsv +++ b/scripts/ram_baseline.tsv @@ -7,4 +7,4 @@ date code ro rw zi er_irom1 er_pct iram1 iram1_pct ccm ccm_pct top_rwzi 2026-10-22 213436 18652 1188 131500 232088 22.1 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736 2026-10-23 213676 18860 1188 131500 232536 22.2 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736 2026-10-24 213780 18860 1204 131852 232640 22.2 75632 57.7 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736 -2026-10-25 217828 21584 1264 132824 239412 22.8 76664 58.5 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736 +2026-10-25 218128 21624 1272 132864 239752 22.9 76712 58.5 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736 diff --git a/scripts/size_attestation.json b/scripts/size_attestation.json index 8be50807..72238a5e 100644 --- a/scripts/size_attestation.json +++ b/scripts/size_attestation.json @@ -1,25 +1,25 @@ { - "built_at": "2026-10-25T10:35:31+08:00", - "fingerprint": "90cc57d7a5f5f10826c64ef8127491faebdad4a2549a904c572e5524e178bf01", + "built_at": "2026-10-25T12:08:11+08:00", + "fingerprint": "1009caa1607259b08cf493cb51a7e103ebab65c63eceb44537b1a6501f52b9ed", "fingerprint_files": 1406, "fingerprint_source": "git-index", "gated_regions": [ "RW_IRAM1", "RW_CCM" ], - "git_head": "969fc5c132e7efbe79b5d52cf48d533a8a1925dd", + "git_head": "8c47005fe9dc21227cca24c71b21e3c69f905f81", "map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map", - "map_mtime": 1792895716, + "map_mtime": 1792901273, "pct": { - "ER_IROM1": 22.83, + "ER_IROM1": 22.86, "RW_CCM": 87.89, - "RW_IRAM1": 58.49, + "RW_IRAM1": 58.53, "UNINIT_CCM": 18.75 }, "regions": { "ER_IROM1": { "max": 1048576, - "size": 239412 + "size": 239752 }, "RW_CCM": { "max": 65280, @@ -27,7 +27,7 @@ }, "RW_IRAM1": { "max": 131072, - "size": 76664 + "size": 76712 }, "UNINIT_CCM": { "max": 256, @@ -37,10 +37,10 @@ "schema": 2, "scope_note": "\u540c\u7801\u51ed\u8bc1\uff1a\u6307\u7eb9\u8986\u76d6\u56fa\u4ef6\u4f53\u79ef\u76f8\u5173\u6e90\u7801\uff0c\u53e3\u5f84\u89c1\u672c\u811a\u672c docstring", "sizes": { - "code": 217828, - "ro_data": 21584, - "rw_data": 1264, - "zi_data": 132824 + "code": 218128, + "ro_data": 21624, + "rw_data": 1272, + "zi_data": 132864 }, "threshold_pct": 92.0, "worktree_dirt_at_stamp": 0, diff --git a/scripts/test_coverage_baseline.json b/scripts/test_coverage_baseline.json index e741a219..285df29d 100644 --- a/scripts/test_coverage_baseline.json +++ b/scripts/test_coverage_baseline.json @@ -161,12 +161,12 @@ "lines_valid": 405 }, "App/protocol/iec104/iec104_pts.c": { - "func_rate": 0.7647, - "funcs_covered": 13, - "funcs_valid": 17, - "line_rate": 0.6724, - "lines_covered": 117, - "lines_valid": 174 + "func_rate": 0.9524, + "funcs_covered": 20, + "funcs_valid": 21, + "line_rate": 0.8703, + "lines_covered": 208, + "lines_valid": 239 }, "App/sync/time_sync.c": { "func_rate": 1.0, @@ -409,15 +409,16 @@ "iec104": { "files": { "App/algo/freq.c": 130, + "App/algo/meas.c": 64, "App/algo/phasor.c": 55, "App/algo/prot_elm.c": 106, "App/algo/prot_set.c": 179, "App/algo/sample_ring.c": 41, "App/protocol/iec104/iec104_asdu.c": 103, "App/protocol/iec104/iec104_link.c": 405, - "App/protocol/iec104/iec104_pts.c": 174 + "App/protocol/iec104/iec104_pts.c": 239 }, - "lines_total": 1193, + "lines_total": 1322, "ok": true }, "iec104_serv": { @@ -685,12 +686,12 @@ "files_generated_excluded": 5, "files_tested": 42, "files_untested": 121, - "func_rate": 0.9272, - "funcs_covered": 433, - "funcs_valid": 467, - "line_rate": 0.8972, - "lines_covered": 5999, - "lines_valid": 6686, + "func_rate": 0.9342, + "funcs_covered": 440, + "funcs_valid": 471, + "line_rate": 0.9021, + "lines_covered": 6090, + "lines_valid": 6751, "modules_ok": 38, "modules_total": 38 }, @@ -895,6 +896,10 @@ "code_lines": 31, "path": "App/log/sys_log.h" }, + { + "code_lines": 31, + "path": "App/protocol/iec104/iec104_pts.h" + }, { "code_lines": 31, "path": "Drivers/BSP/UI/ui_deco.c" @@ -919,10 +924,6 @@ "code_lines": 28, "path": "App/algo/prot_elm.h" }, - { - "code_lines": 28, - "path": "App/protocol/iec104/iec104_pts.h" - }, { "code_lines": 28, "path": "Drivers/BSP/app_assert.h"