From fccf99bc9084fa956128dc4258ff8736076064b3 Mon Sep 17 00:00:00 2001 From: Wanderingss <1624155937@qq.com> Date: Sat, 10 Oct 2026 02:54:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=97=AD=E7=8E=AF=E8=A1=A5?= =?UTF-8?q?=E5=9B=BA=E4=BB=B6=E8=BA=AB=E4=BB=BD=E6=88=B3=E3=80=81=E7=83=A7?= =?UTF-8?q?=E5=BD=95=E5=9B=9E=E8=AF=BB=E6=A0=A1=E9=AA=8C=E4=B8=8E=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E9=94=9A=E7=82=B9=E8=AE=A1=E6=95=B0=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E4=BF=AEcmd=E5=BC=95=E5=8F=B7=E8=A7=A3=E6=9E=90=E4=B8=8Eflash-?= =?UTF-8?q?cmd=E9=A2=84=E6=A3=80=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 7 +- App/app/app_main.c | 8 ++ MDK-ARM/reset.bat | 15 +++ docs/内存管理/RAM使用分析与优化方案.md | 4 +- docs/测试说明/ST-LINK_CLI_复位使用说明.md | 8 +- docs/测试说明/自动化测试流程.md | 16 ++- test/host/run_boot_test.py | 148 ++++++++++++++++++++-- test/host/verify_log.py | 78 +++++++++++- 8 files changed, 261 insertions(+), 23 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 8857228a..f6d14d07 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,11 +16,11 @@ STM32F407ZGTx @168MHz(HSE 8MHz → PLL M=4/N=168/P=2);**仅 Keil MDK-ARM v ## 构建与验证 - `@build` = `& "MDK-ARM\build.bat"`(仓库根目录用**相对路径**);退出码 0 = 0 错误 0 警告,1 = 有警告或错误(查 `MDK-ARM/build_log.txt`),2 = `DTU_KEIL_UV4` 未设/无效(换机必设,见 `docs/环境与部署/本地工具路径环境变量方案.md`);UV4 路径经 `DTU_KEIL_UV4` 环境变量解析(**不再硬编码**;显式设置但无效会立即报错、不静默回退) -- `@test` / `test/host/run_boot_test.py` 一键闭环(2026-09-20 起为纯 Python 标准库实现,替代 PowerShell 版;`& '.venv\Scripts\python.exe' test/host/run_boot_test.py`):开串口+清日志 → 烧录(`MDK-ARM/download.bat`,下载后 Reset&Run)→ wait-idle(等 RX 静默 8s,超时 30s)→ `test/host/verify_log.py` 标记校验;退出码 0=PASS / 1=FAIL / 2=采集或烧录错误 / 3=用法/预检错误 -- 默认校验标记:Required `App init OK` / `Network Init` / `net init: OK`;Forbidden `FAIL` / `ERROR` / `HardFault` / `[ERR]`(**四个 Fault 的崩溃日志都以 `[ERR]` 开头 → 一律判 FAIL**,这是刻意的:出现 Fault 即本次运行不通过);按模块定制标记(网络/存储/RTC/ADC/RS485/UI)见 `docs/测试说明/自动化测试流程.md` +- `@test` / `test/host/run_boot_test.py` 一键闭环(2026-09-20 起为纯 Python 标准库实现,替代 PowerShell 版;`& '.venv\Scripts\python.exe' test/host/run_boot_test.py`):开串口+清日志 → 烧录(`MDK-ARM/download.bat`,下载后 Reset&Run;快路径 `--flash-cmd "MDK-ARM\reset.bat flash"`)→ **固件身份戳**(从刚烧进去的 hex 里抠 `fw build: