# test/board/ — 板端测试套件 > ⚠️ **编入固件**的测试代码(由 testTask 执行)。这些 `.c` 已注册到 Keil 工程 > `MDK-ARM/STM32F4-Demo.uvprojx`,占用 MCU 的 RAM/Flash。 ## 文件一览 | 文件 | 测试对象 / 作用 | |---|---| | `test_config.c/h` | **测试任务配置**:`TEST_SUITE_*` 套件选择开关(互斥)+ `ENABLE_DESTRUCTIVE_TESTS` | | `ch395f_test_task.c/h` + `ch395f_test.h` | CH395F 以太网(硬件层 Phase 1~5 / NET 层 Phase 6~11) | | `gd5f_test_task.c/h` + `gd5f_test.h` | GD5F2GQ5UE SPI NAND 存储 | | `sd2506_test_task.c/h` + `sd2506_test.h` | SD2506 RTC | | `storage_test_task.c/h` + `storage_test.h` | 存储性能 | | `net_test_task.c/h` | 网络层测试 | | `net_latency_test.c/h` | 链路时延探针(DWT CYCCNT 时基,MCU 专属) | ## ⚠️ 构建约束(`AGENTS.md` 详述) - **套件互斥**:`test_config.h` 的 `TEST_SUITE_CH395F/STORAGE/GD5F/RTC` 一次只能启用一个 (违反则 `#error`);**全部注释 = 产品构建** - **破坏性用例默认关闭**:`ENABLE_DESTRUCTIVE_TESTS`(默认注释)控制写/擦 NAND、格式化、 坏块注入。关闭时为**只读模式**(横幅 `mode: READ-ONLY`),可随时在在用设备上跑 - ⚠️ 实测一轮破坏性 GD5F 运行即让 dhara **多记一个坏块**(容量下降且需全片擦除恢复)—— 只在产线首启或明确需要时打开 - CH395F 套件:硬件层与 NET 层模式互斥 - **总线独占**:CH395F 硬件层模式下 netTask 自挂起,testTask 独占 CH395F ## 添加新测试套件 1. 在 `test_config.h` 加开关(并入互斥 `#error` 检查) 2. 新建 `<模块>_test_task.c/h` 3. **注册进 Keil 工程**(`..\test\board\xxx.c`) 4. 跑回归:`@test`(`test/host/run_boot_test.py`) ## 相关文档 - 测试指南:`docs/测试说明/CH395F_Test_Guide.md`、`GD5F2GQ5UE_Test_Guide.md`、`SD2506_Test_Guide.md`、`FTP_Test_Guide.md` - 套件配置:`AGENTS.md`「测试与验证」章 - 容量恢复:`docs/测试说明/存储维护与容量恢复.md`