test(日志): 主机单测桩跟到 UART5

生产源 f5161e15 已把控制台端口收口到 CON_UART(=huart5),桩若还停在
huart1 / MX_USART1_UART_Init,主机单测会因符号缺失编不过;更要紧的是
huart1.Instance = 0 那几组用例会失去"串口未初始化"的原意——改成填一个
生产代码根本不碰的句柄,短路照样命中,但测的已经不是真实那条路径。

- stub/usart.h:暴露 huart5 + MX_UART5_Init,并按真实 Inc/usart.h 校正
  "真实那份还声明哪些"的描述(huart1~4、MX_USART1~3_UART_Init、
  MX_UART4_Init)。
- stub/stm32f4_fake.h:USART1_IRQn -> UART5_IRQn,
  __HAL_RCC_USART1_CLK_DISABLE/ENABLE -> __HAL_RCC_UART5_*;假外设块的
  标题与位注释去掉具体实例号(它本来就是通用模型,不是某个实例)。
- console_log_test.c:huart1 -> huart5(19 处)、
  MX_USART1_UART_Init -> MX_UART5_Init,含一条用例的打印文案。

纯桩与测试改动,不碰生产源;153/153 PASSED。
This commit is contained in:
2026-10-29 18:56:55 +08:00
parent 7dbc8f8676
commit 8a0cb464c0
4 changed files with 37 additions and 35 deletions
+2 -2
View File
@@ -10,7 +10,7 @@
缓冲满两条上界
(DWT 周期 / 200 tick)与丢弃计数、[ERR] 告警行不经环(不递归)、TX 僵尸通道软复位
自愈 + 故障即止 + 300ms 冷却(含无符号回绕)、DWT 使能失败退回 20000 次指令计数、
huart1.Instance==NULL 短路、fputc 重定向、drain 250ms 预算、行级单一所有者。
huart5.Instance==NULL 短路、fputc 重定向、drain 250ms 预算、行级单一所有者。
工具链与判定委托 test/host/common/unit_test_harness.py。
为什么要主机侧单测(而不是只用台架):
@@ -26,7 +26,7 @@
docs/子系统设计/控制台单写者日志设计说明.md(G1~G5 / K1~K5 / §12 ORE 僵尸通道)。
桩的边界:console_log.h 与 sys_events.h 用真实头(SYS_EVT_CONSOLE_TX 位定义一改即
编译期报错);usart.h 是桩但只暴露本模块访问的 huart1 + MX_USART1_UART_Init,
编译期报错);usart.h 是桩但只暴露本模块访问的 huart5 + MX_UART5_Init,
USART SR 位号、DWT/CoreDebug 位掩码、HAL_StatusTypeDef 枚举值均照抄真实头,
宿主编不动的那条 main.h -> stm32f4xx_hal.h -> core_cm4.h 链由 stub/stm32f4_fake.h
以普通结构体替代(理由写在该文件头注释里)。