From a5f7385cad8144a678c104db124ee8f86a5817b1 Mon Sep 17 00:00:00 2001 From: Wanderingss <1624155937@qq.com> Date: Sun, 25 Oct 2026 04:28:52 +0800 Subject: [PATCH] =?UTF-8?q?chore(ledger):=20cal-adc=20=E5=90=88=E5=85=A5?= =?UTF-8?q?=E5=90=8E=E5=9B=9E=E5=A1=AB=20Flash/RAM/=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=E5=8F=B0=E8=B4=A6=E5=B9=B6=E9=87=8D=E7=9B=96=E5=87=AD?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task/cal-adc-cal 合入(merge d39e5c9):adc_cal 折算模块 + 系数落盘 + L5-2 rail_watch。Code 214,104→215,440(+1,336 B)、RO 20,388→21,308 (+920 B)、RW 1,204→1,220(+16 B)、ZI 131,852→131,980(+128 B)。 RAM 增量 +144 B(IRAM1 57.8%、CCM 87.9%,远低于红线);adcTask 栈 worst 1344 B / margin 47%。清 lane-a 分支侧 --no-verify 欠账。 覆盖率基线登记 adc_cal.c(118/119 行 99.2%);体积凭证按 @build 0/0 后的 .map 重盖(L0c 恢复序列)。 --- docs/内存管理/RAM使用分析与优化方案.md | 6 +- docs/内存管理/RAM预算台账.md | 6 +- scripts/ram_baseline.tsv | 2 +- scripts/size_attestation.json | 26 +++--- scripts/test_coverage_baseline.json | 113 +++++++++++++++---------- 5 files changed, 89 insertions(+), 64 deletions(-) diff --git a/docs/内存管理/RAM使用分析与优化方案.md b/docs/内存管理/RAM使用分析与优化方案.md index fc567af4..5ee3d9d5 100644 --- a/docs/内存管理/RAM使用分析与优化方案.md +++ b/docs/内存管理/RAM使用分析与优化方案.md @@ -47,10 +47,10 @@ C2 dhara 失败类 +84;RO 另 +208,全是 C2 的失败类名表)→ `ER_IR | 区域 | 用量 | 容量 | 占比 | |---|---|---|---| -| ER_IROM1 | 234,492 B (229.00 KB) | 1,048,576 B (1024 KB) | 22.4% | -| RW_IRAM1 | 75,632 B (73.86 KB) | 131,072 B (128 KB) | 57.7% | +| ER_IROM1 | 236,748 B (231.20 KB) | 1,048,576 B (1024 KB) | 22.6% | +| RW_IRAM1 | 75,776 B (74.00 KB) | 131,072 B (128 KB) | 57.8% | | RW_CCM | 57,376 B (56.03 KB) | 65,280 B (64 KB) | 87.9% | -| **Flash (ROM 合计)** | **235,696 B (230.2 KB)** | 1,048,576 B (1024 KB) | **22.5%** | +| **Flash (ROM 合计)** | **237,968 B (232.4 KB)** | 1,048,576 B (1024 KB) | **22.7%** | 各区的容量与常量来源: diff --git a/docs/内存管理/RAM预算台账.md b/docs/内存管理/RAM预算台账.md index 7d610f97..792ea339 100644 --- a/docs/内存管理/RAM预算台账.md +++ b/docs/内存管理/RAM预算台账.md @@ -15,10 +15,10 @@ | 区域 | 用量 | 容量 | 占比 | 门禁(≤92%) | |---|---|---|---|---| -| ER_IROM1 (Flash) | 234,492 B | 1,048,576 B | 22.4% | 参考 | +| ER_IROM1 (Flash) | 236,748 B | 1,048,576 B | 22.6% | 参考 | | RW_CCM | 57,376 B | 65,280 B | 87.9% | PASS | | UNINIT_CCM | 48 B | 256 B | 18.8% | 参考 | -| RW_IRAM1 | 75,632 B | 131,072 B | 57.7% | PASS | +| RW_IRAM1 | 75,776 B | 131,072 B | 57.8% | PASS | | 子系统(静态 RW+ZI;除 RTOS 堆在 CCM 外均在 SRAM1) | 现值 | 配额 | 状态 | |---|---|---|---| @@ -26,7 +26,7 @@ | 存储 | 7,056 B | 12 KB | OK | | UI | 30,422 B | 16 KB | ⚠ 超 13.7 KB | | RTOS 堆 | 57,376 B | 56 KB | 堆=配额 | -| 应用 | 15,275 B | 8 KB | ⚠ 超 6.9 KB | +| 应用 | 15,406 B | 8 KB | ⚠ 超 7.0 KB | | 其它 | 9,208 B | — | 参考 | diff --git a/scripts/ram_baseline.tsv b/scripts/ram_baseline.tsv index 806b3bae..4b5ef4f0 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 214104 20388 1204 131852 234492 22.4 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 215440 21308 1220 131980 236748 22.6 75776 57.8 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 4ff545e0..f7340de8 100644 --- a/scripts/size_attestation.json +++ b/scripts/size_attestation.json @@ -1,25 +1,25 @@ { - "built_at": "2026-10-25T03:58:34+08:00", - "fingerprint": "b18aee6e56c7388f103939646190742b22bb6573f6667202e4ae9f8213485579", - "fingerprint_files": 1388, + "built_at": "2026-10-25T04:27:34+08:00", + "fingerprint": "0a672062790254b3b182368ac9a00605a59d26fca88b5be55c0d45b98c945f15", + "fingerprint_files": 1390, "fingerprint_missing": 0, "gated_regions": [ "RW_IRAM1", "RW_CCM" ], - "git_head": "ba9450c50b932bd2085809fb3c1acc8d72bafbb9", + "git_head": "d39e5c9ab5572d9da8045b3c035350f169e333d9", "map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map", - "map_mtime": 1792870197, + "map_mtime": 1792873509, "pct": { - "ER_IROM1": 22.36, + "ER_IROM1": 22.58, "RW_CCM": 87.89, - "RW_IRAM1": 57.7, + "RW_IRAM1": 57.81, "UNINIT_CCM": 18.75 }, "regions": { "ER_IROM1": { "max": 1048576, - "size": 234492 + "size": 236748 }, "RW_CCM": { "max": 65280, @@ -27,7 +27,7 @@ }, "RW_IRAM1": { "max": 131072, - "size": 75632 + "size": 75776 }, "UNINIT_CCM": { "max": 256, @@ -37,10 +37,10 @@ "schema": 1, "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": 214104, - "ro_data": 20388, - "rw_data": 1204, - "zi_data": 131852 + "code": 215440, + "ro_data": 21308, + "rw_data": 1220, + "zi_data": 131980 }, "threshold_pct": 92.0, "written_by": "scripts/check_size_gate.py --stamp" diff --git a/scripts/test_coverage_baseline.json b/scripts/test_coverage_baseline.json index 18fd88c5..e6b7cce2 100644 --- a/scripts/test_coverage_baseline.json +++ b/scripts/test_coverage_baseline.json @@ -1,12 +1,20 @@ { "files": { + "App/algo/adc_cal.c": { + "func_rate": 1.0, + "funcs_covered": 12, + "funcs_valid": 12, + "line_rate": 0.9916, + "lines_covered": 118, + "lines_valid": 119 + }, "App/algo/adc_health.c": { "func_rate": 1.0, - "funcs_covered": 6, - "funcs_valid": 6, + "funcs_covered": 9, + "funcs_valid": 9, "line_rate": 1.0, - "lines_covered": 108, - "lines_valid": 108 + "lines_covered": 143, + "lines_valid": 143 }, "App/algo/adc_input.c": { "func_rate": 1.0, @@ -57,12 +65,12 @@ "lines_valid": 41 }, "App/cfg/cfg_file.c": { - "func_rate": 0.9615, - "funcs_covered": 25, - "funcs_valid": 26, - "line_rate": 0.8773, - "lines_covered": 572, - "lines_valid": 652 + "func_rate": 0.963, + "funcs_covered": 26, + "funcs_valid": 27, + "line_rate": 0.8853, + "lines_covered": 610, + "lines_valid": 689 }, "App/cfg/cfg_file_store_mcu.c": { "func_rate": 1.0, @@ -117,8 +125,8 @@ "funcs_covered": 13, "funcs_valid": 13, "line_rate": 0.9939, - "lines_covered": 324, - "lines_valid": 326 + "lines_covered": 328, + "lines_valid": 330 }, "App/protocol/iec104/iec104_asdu.c": { "func_rate": 1.0, @@ -277,8 +285,8 @@ "funcs_covered": 53, "funcs_valid": 53, "line_rate": 0.9978, - "lines_covered": 887, - "lines_valid": 889 + "lines_covered": 889, + "lines_valid": 891 }, "Drivers/BSP/NETCFG/ftp_cfg.c": { "func_rate": 1.0, @@ -299,11 +307,19 @@ }, "generated_by": "scripts/check_test_coverage.py --update-baseline", "modules": { + "adc_cal": { + "files": { + "App/algo/adc_cal.c": 119, + "App/cfg/cfg_file.c": 689 + }, + "lines_total": 808, + "ok": true + }, "adc_health": { "files": { - "App/algo/adc_health.c": 108 + "App/algo/adc_health.c": 143 }, - "lines_total": 108, + "lines_total": 143, "ok": true }, "adc_input": { @@ -315,9 +331,9 @@ }, "cfg_file": { "files": { - "App/cfg/cfg_file.c": 652 + "App/cfg/cfg_file.c": 689 }, - "lines_total": 652, + "lines_total": 689, "ok": true }, "cfg_file_store_mcu": { @@ -446,9 +462,9 @@ }, "net_socket": { "files": { - "Drivers/BSP/NET/net_socket.c": 889 + "Drivers/BSP/NET/net_socket.c": 891 }, - "lines_total": 889, + "lines_total": 891, "ok": true }, "phasor": { @@ -517,9 +533,9 @@ }, "sys_log_mcu": { "files": { - "App/log/sys_log_mcu.c": 326 + "App/log/sys_log_mcu.c": 330 }, - "lines_total": 326, + "lines_total": 330, "ok": true }, "task_prof": { @@ -554,6 +570,7 @@ "note": "主机单测覆盖率基线。口径与工具链限制见 docs/测试说明/主机单测覆盖率口径.md。门禁判据:files[].lines_covered 与 funcs_covered 只增不减,下降即拦提交。", "schema": 1, "tested_sources": [ + "App/algo/adc_cal.c", "App/algo/adc_health.c", "App/algo/adc_input.c", "App/algo/freq.c", @@ -594,16 +611,16 @@ ], "totals": { "files_generated_excluded": 5, - "files_tested": 37, - "files_untested": 107, - "func_rate": 0.9231, - "funcs_covered": 396, - "funcs_valid": 429, - "line_rate": 0.8932, - "lines_covered": 5605, - "lines_valid": 6275, - "modules_ok": 33, - "modules_total": 33 + "files_tested": 38, + "files_untested": 109, + "func_rate": 0.9258, + "funcs_covered": 412, + "funcs_valid": 445, + "line_rate": 0.8965, + "lines_covered": 5802, + "lines_valid": 6472, + "modules_ok": 34, + "modules_total": 34 }, "untested_sources": [ { @@ -634,6 +651,10 @@ "code_lines": 264, "path": "Drivers/BSP/SD2506/sd2506.c" }, + { + "code_lines": 224, + "path": "App/task/adc_task.c" + }, { "code_lines": 206, "path": "Drivers/BSP/CH395F/ch395f.h" @@ -646,10 +667,6 @@ "code_lines": 204, "path": "Drivers/BSP/UI/ui_standby.c" }, - { - "code_lines": 171, - "path": "App/task/adc_task.c" - }, { "code_lines": 157, "path": "Drivers/BSP/TPAFE5160/tpafe5160.c" @@ -659,7 +676,7 @@ "path": "Drivers/BSP/UI/ui_page_password.c" }, { - "code_lines": 135, + "code_lines": 138, "path": "App/app/app_main.c" }, { @@ -718,6 +735,10 @@ "code_lines": 56, "path": "App/protocol/iec104/iec104_link.h" }, + { + "code_lines": 55, + "path": "App/algo/adc_health.h" + }, { "code_lines": 54, "path": "Drivers/BSP/TPAFE5160/tpafe5160.h" @@ -726,10 +747,6 @@ "code_lines": 51, "path": "App/util/task_watchdog.h" }, - { - "code_lines": 50, - "path": "App/algo/adc_health.h" - }, { "code_lines": 44, "path": "App/algo/adc_input.h" @@ -740,11 +757,11 @@ }, { "code_lines": 42, - "path": "Drivers/BSP/UI/ui_content_page.h" + "path": "App/cfg/cfg_file.h" }, { - "code_lines": 41, - "path": "App/cfg/cfg_file.h" + "code_lines": 42, + "path": "Drivers/BSP/UI/ui_content_page.h" }, { "code_lines": 41, @@ -794,6 +811,10 @@ "code_lines": 28, "path": "App/protocol/iec104/iec104_pts.h" }, + { + "code_lines": 28, + "path": "Drivers/BSP/app_assert.h" + }, { "code_lines": 27, "path": "App/algo/phasor.h" @@ -826,6 +847,10 @@ "code_lines": 24, "path": "Drivers/BSP/UI/ui_tokens.h" }, + { + "code_lines": 22, + "path": "App/algo/adc_cal.h" + }, { "code_lines": 22, "path": "App/cfg/cfg_file_store.h"