diff --git a/docs/内存管理/RAM使用分析与优化方案.md b/docs/内存管理/RAM使用分析与优化方案.md index 5ee3d9d5..4e9b2e93 100644 --- a/docs/内存管理/RAM使用分析与优化方案.md +++ b/docs/内存管理/RAM使用分析与优化方案.md @@ -47,10 +47,10 @@ C2 dhara 失败类 +84;RO 另 +208,全是 C2 的失败类名表)→ `ER_IR | 区域 | 用量 | 容量 | 占比 | |---|---|---|---| -| 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% | +| ER_IROM1 | 237,140 B (231.58 KB) | 1,048,576 B (1024 KB) | 22.6% | +| RW_IRAM1 | 75,784 B (74.01 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 合计)** | **237,968 B (232.4 KB)** | 1,048,576 B (1024 KB) | **22.7%** | +| **Flash (ROM 合计)** | **238,364 B (232.8 KB)** | 1,048,576 B (1024 KB) | **22.7%** | 各区的容量与常量来源: diff --git a/docs/内存管理/RAM预算台账.md b/docs/内存管理/RAM预算台账.md index 792ea339..8b953270 100644 --- a/docs/内存管理/RAM预算台账.md +++ b/docs/内存管理/RAM预算台账.md @@ -15,16 +15,16 @@ | 区域 | 用量 | 容量 | 占比 | 门禁(≤92%) | |---|---|---|---|---| -| ER_IROM1 (Flash) | 236,748 B | 1,048,576 B | 22.6% | 参考 | +| ER_IROM1 (Flash) | 237,140 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,776 B | 131,072 B | 57.8% | PASS | +| RW_IRAM1 | 75,784 B | 131,072 B | 57.8% | PASS | | 子系统(静态 RW+ZI;除 RTOS 堆在 CCM 外均在 SRAM1) | 现值 | 配额 | 状态 | |---|---|---|---| | 网络 | 13,702 B | 12 KB | ⚠ 超 1.4 KB | | 存储 | 7,056 B | 12 KB | OK | -| UI | 30,422 B | 16 KB | ⚠ 超 13.7 KB | +| UI | 30,426 B | 16 KB | ⚠ 超 13.7 KB | | RTOS 堆 | 57,376 B | 56 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 4b5ef4f0..5752ba3a 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 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 +2026-10-25 215744 21396 1224 131984 237140 22.6 75784 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 2618a03c..80725360 100644 --- a/scripts/size_attestation.json +++ b/scripts/size_attestation.json @@ -1,25 +1,25 @@ { - "built_at": "2026-10-25T04:42:32+08:00", - "fingerprint": "b8c07cc59599a250b8e3e41ed1d16c7557f893b2903c5d6507c1819d595a286d", + "built_at": "2026-10-25T05:31:08+08:00", + "fingerprint": "548011fc4a68e087a855c952e73c6d8d85c6f4a4dee28702f29dfa858ff3577c", "fingerprint_files": 1396, "fingerprint_missing": 0, "gated_regions": [ "RW_IRAM1", "RW_CCM" ], - "git_head": "d89c07c40c79c89768ae58936c9b4970052e659f", + "git_head": "59da40bb4a53db082953164a9d7c58bb342f8c19", "map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map", - "map_mtime": 1792874366, + "map_mtime": 1792877445, "pct": { - "ER_IROM1": 22.58, + "ER_IROM1": 22.62, "RW_CCM": 87.89, - "RW_IRAM1": 57.81, + "RW_IRAM1": 57.82, "UNINIT_CCM": 18.75 }, "regions": { "ER_IROM1": { "max": 1048576, - "size": 236748 + "size": 237140 }, "RW_CCM": { "max": 65280, @@ -27,7 +27,7 @@ }, "RW_IRAM1": { "max": 131072, - "size": 75776 + "size": 75784 }, "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": 215440, - "ro_data": 21308, - "rw_data": 1220, - "zi_data": 131980 + "code": 215744, + "ro_data": 21396, + "rw_data": 1224, + "zi_data": 131984 }, "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 c51bbc74..bc8ada4e 100644 --- a/scripts/test_coverage_baseline.json +++ b/scripts/test_coverage_baseline.json @@ -475,6 +475,18 @@ "lines_total": 96, "ok": true }, + "prot_dim": { + "files": { + "App/algo/adc_cal.c": 119, + "App/algo/freq.c": 130, + "App/algo/phasor.c": 55, + "App/algo/prot_elm.c": 106, + "App/algo/prot_set.c": 179, + "App/algo/sample_ring.c": 41 + }, + "lines_total": 630, + "ok": true + }, "prot_elm": { "files": { "App/algo/freq.c": 130, @@ -619,8 +631,8 @@ "line_rate": 0.8965, "lines_covered": 5802, "lines_valid": 6472, - "modules_ok": 34, - "modules_total": 34 + "modules_ok": 35, + "modules_total": 35 }, "untested_sources": [ { @@ -695,6 +707,10 @@ "code_lines": 123, "path": "App/task/net_task.c" }, + { + "code_lines": 117, + "path": "App/task/protect_task.c" + }, { "code_lines": 113, "path": "Drivers/BSP/UI/ui_page_action.c" @@ -712,8 +728,8 @@ "path": "Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h" }, { - "code_lines": 90, - "path": "App/task/protect_task.c" + "code_lines": 92, + "path": "App/task/ui_task.c" }, { "code_lines": 83, @@ -735,10 +751,6 @@ "code_lines": 77, "path": "Drivers/BSP/dbg_log.h" }, - { - "code_lines": 71, - "path": "App/task/ui_task.c" - }, { "code_lines": 62, "path": "App/protocol/iec104/iec104_asdu.h" @@ -764,12 +776,12 @@ "path": "Drivers/BSP/UI/ui_w_setlist.h" }, { - "code_lines": 44, - "path": "App/algo/adc_input.h" + "code_lines": 46, + "path": "App/log/soe_rec.h" }, { "code_lines": 44, - "path": "App/log/soe_rec.h" + "path": "App/algo/adc_input.h" }, { "code_lines": 42, @@ -788,12 +800,12 @@ "path": "Drivers/BSP/UI/ui_page_ac.c" }, { - "code_lines": 34, - "path": "Drivers/BSP/NETCFG/net_cfg.h" + "code_lines": 39, + "path": "Drivers/BSP/UI/ui_w_records.c" }, { "code_lines": 34, - "path": "Drivers/BSP/UI/ui_w_records.c" + "path": "Drivers/BSP/NETCFG/net_cfg.h" }, { "code_lines": 33, @@ -823,6 +835,10 @@ "code_lines": 29, "path": "Drivers/BSP/NET/lftpd/lftpd_auth.h" }, + { + "code_lines": 29, + "path": "Drivers/BSP/UI/ui_w_records.h" + }, { "code_lines": 28, "path": "App/algo/prot_elm.h" @@ -903,10 +919,6 @@ "code_lines": 20, "path": "Drivers/BSP/UI/ui_page_dc.c" }, - { - "code_lines": 19, - "path": "Drivers/BSP/UI/ui_w_records.h" - }, { "code_lines": 18, "path": "App/app/sys_events.h"