Files
STM32F4-Base/scripts/size_attestation.json
T
wandering1 f50e74c63b docs+log: 撤销"PA10 未接线"结论,ORE 机理改为"RX 使能却不读 DR"
用户反馈:PA10 这个端口是接线的,当年那个分析应该是错的。

核查确认:console_log.c(文件头与 con_uart_reinit() 注释)和
控制台单写者日志设计说明.md 12 节里的"PA10 悬空 / 未接线"是 2026-10-02 的
归因推断,不是实测,且与用户确认的接线状态相反。

ORE 的充分条件本来就不依赖引脚悬空:RX 使能了却从不读 DR,
线上任意一个字节或一个噪声沿使 RXNE 置位后无人读,下一个事件即锁存 ORE
(常伴 NE/FE/PE);而 ORE 只能靠"先读 SR 再读 DR"清除,所以永不自愈。
引脚悬空只影响发生率,不是必要条件。

当年那场风暴的真因仍待定:接线正常时更常见的是对端波特率不匹配
(适配器不是 115200)或适配器 TX 在 USB 掉线时浮空。下次复现先量
适配器 TX 的空闲电平与波特率,不要再默认"引脚悬空"。

改动:
- console_log.c:函数注释改按正确机理表述;修改记录加 2026-10-28 一条
  说明归因更正。纯注释,Code 236456 B 与上版一致,@build 0/0。
- 控制台单写者日志设计说明.md 12 节:机理段后加更正块,写明观察与缓解
  措施仍成立、只有归因需要改写。
- 产品需求文档:4.2 表 USART1 行改为"PA10 双向均已接线";5.16.2 的
  "PA10 没接线"警示块整段重写为"旧结论已撤销 + 真正机理 + 两条硬要求"
  (屏板链路必须消费 DR 并在错误回调清 ORE;新日志口仍设 UART_MODE_TX);
  9.13 前置阻塞由"两条物理前置"改为"一条物理前置 + 一条实现纪律";
  12 节加 v1.9。
- 屏板链路规划:0 章第 2 行标为已撤销、执行顺序去掉"接 PA10";
  批 0 由 4 项减为 3 项;批 1 第 3 项判据补"拔插 TX 线制造噪声后能自动
  恢复";风险表把"PA10 没接"换成"一次噪声后链路永久静默"。
- 任务规划 README 独立轨道行同步为两条前置。

体积凭证随索引刷新(scripts/size_attestation.json),数字未变。
2026-10-28 10:41:32 +08:00

49 lines
1.2 KiB
JSON

{
"built_at": "2026-10-28T10:38:53+08:00",
"fingerprint": "b4562719f05544c215ae12c3f9de42c1bf5a7d7ec3a94e0a79df456642dd7bfa",
"fingerprint_files": 1452,
"fingerprint_source": "git-index",
"gated_regions": [
"RW_IRAM1",
"RW_CCM"
],
"git_head": "eb2c454aed29411e806241f899db4a34494233c6",
"map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map",
"map_mtime": 1793155110,
"pct": {
"ER_IROM1": 25.23,
"RW_CCM": 87.89,
"RW_IRAM1": 62.21,
"UNINIT_CCM": 18.75
},
"regions": {
"ER_IROM1": {
"max": 1048576,
"size": 264580
},
"RW_CCM": {
"max": 65280,
"size": 57376
},
"RW_IRAM1": {
"max": 131072,
"size": 81536
},
"UNINIT_CCM": {
"max": 256,
"size": 48
}
},
"schema": 2,
"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": 236456,
"ro_data": 28124,
"rw_data": 1876,
"zi_data": 137084
},
"threshold_pct": 92.0,
"worktree_dirt_at_stamp": 0,
"written_by": "scripts/check_size_gate.py --stamp"
}