docs(问题记录): Trap 12 归档更正——FatFS 议题移入存储架构说明 §10.1
- Trap 12 非 CH395F 议题(`CH395F驱动层审计.md` 早已点破;重组时仅就地 更正未搬家,本次补正) - 完整内容与根因更正移入 `docs/架构设计/STM32F4-Base存储架构说明.md` §10.1 第 14 项——与第 10 项「严格 8.3 短名」通用规则同处,各得其所 - 原址留移档存根(编号保留防旧引用断链,同 Trap 19 惯例);索引行改 ↦、状态图例补「↦ 已移入他档」;待修清单措辞同步 - 全库确认 Trap 12 无代码引用;check_doc_links 两文件通过
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
> 按主题分章并加索引;条目格式统一为 `## Trap NN · 短标题` + 固定小节(状态/现象/根因(定案)/修复/回归判据/教训,
|
||||
> 视情况取舍)。**编号永不重排**——代码注释大量引用 `Trap NN`,合并条目标题保留双编号;
|
||||
> Trap 19 从未存在(悬空引用登记在第六章待修清单)。
|
||||
> 状态图例:✅ 已修复定案 · ⏳ 待修 · ↩️ 已撤回(非缺陷) · — 从未存在。
|
||||
> 状态图例:✅ 已修复定案 · ⏳ 待修 · ↩️ 已撤回(非缺陷) · ↦ 已移入他档 · — 从未存在。
|
||||
|
||||
## 索引
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
| 09 | 沉降窗(link up / close 后) | ✅ | open 失败重试 + `net_sock_reset_sync` 确定性排渣;LISTEN 态关闭是两段 CLOSE |
|
||||
| 10 | 消息队列值拷贝 | ✅ | 结果必须走 `xTaskNotify` 通知值回传 |
|
||||
| 11 | accept 拒绝 ESTABLISHED | ✅ | standalone_accept 后状态已 ESTABLISHED,入口检查须放行该组合 |
|
||||
| 12 | FatFS 路径与 8.3 短名 | ✅ | 真约束=`FF_USE_LFN=0` 只认 8.3;本仓用 `"0:"` 卷前缀(原 #2/#4 根因已按 ff.c 更正) |
|
||||
| 12 | FatFS 路径与 8.3 短名 | ↦ | **非 CH395F 议题**(FTP 改造期归档错位)→ 已移入 `docs/架构设计/STM32F4-Base存储架构说明.md` §10.1 第 14 项 |
|
||||
| 13/21 | 「recv_len 归零 / 接收冻结」家族 | ↩️ | 合并结案:非缺陷,全部为台架假象;机理与 §5.34 相左已撤回 |
|
||||
| 14/17 | 残留 DISCONNECT 污染下一连接 | ✅ | 合并:滞后锁存 + SINT 粘滞 → 预清 + 反核实 + close 后排空 |
|
||||
| 15 | DHCP 后 IP 寄存器提交滞后 | ✅ | 状态位≠寄存器生效:连续 3 次一致才采信 |
|
||||
@@ -307,13 +307,10 @@
|
||||
- **注意**:指针成员(`msg.buf`)不受值拷贝影响;内核级 `_locked` API 直接操作不受影响。⚠ 原注"net_connect() 不使用消息队列"已失效——现行 `net_connect` 同样走消息队列、结果同样走通知值。
|
||||
- **发现时间**:FTP 改造期(2026-08)。
|
||||
|
||||
## Trap 12 · FatFS 路径与 8.3 短名
|
||||
## Trap 12 · FatFS 路径与 8.3 短名(↦ 已移入他档)
|
||||
|
||||
- **状态**:✅ 已修复(修复有效;原根因 #2/#4 已按仓内 FatFs 源码更正)
|
||||
- **现象**:FTP STOR `f_open("/upload_test.txt", ...)` 返 `FR_INVALID_NAME`(6);>8.3 的文件名同样 err=6。
|
||||
- **根因(定案,2026-10-13 更正)**:真约束是 `ffconf.h` `FF_USE_LFN=0` → **只支持严格 8.3 短名**(不得以点开头)。原记"FatFS 不接受 `/file` 前缀 / 空字符串失败"两条与仓内 `Lib/FatFs/ff.c` 矛盾(`ff.c:3101-3109` 会剥前导分隔符、`:3127-3129` 空名返回根目录)——**已删**;本仓现行路径口径是 `"0:"` 卷前缀(`FF_FS_RPATH=0` 下 `"."` 不是合法路径段)。
|
||||
- **修复**:`to_fatfs_path()` 剥离 `/` 前缀(保留,行为正确);长文件名需 `FF_USE_LFN=1` + `FF_LFN_UNICODE`(显著增 RAM,未启用)。
|
||||
- **发现时间**:FTP 改造期(2026-08)。
|
||||
- **状态**:↦ 移档——**非 CH395F 议题**(FTP 改造期归档错位;`docs/网络/N34-自愈审计/CH395F驱动层审计.md` 早已点破"Trap 12 非 CH395F")。完整内容与根因更正(含按 `Lib/FatFs/ff.c` 删去的两条误判根因)已移入 `docs/架构设计/STM32F4-Base存储架构说明.md` §10.1 第 14 项(2026-10-13)。
|
||||
- 编号在此保留仅为旧引用不断链;发现期:FTP 改造期(2026-08)。
|
||||
|
||||
## Trap 15 · DHCP 成功后 IP 寄存器提交滞后
|
||||
|
||||
@@ -391,7 +388,7 @@
|
||||
- 悬空引用:`Trap 19` 从未存在(`Test_Guide.md:878` 仍引用);`Test_Guide.md:353/418` 的"见风险 #4/风险表 #1"指向已删除的表。
|
||||
- 口径冲突:`Test_Guide.md:1135` 的 TRAP-07 行仍写"卡 FIN_WAIT_2/`close_socket`(RST)"(与 Trap 07 定案冲突);`:45` 的"TC704 40/40"与 `:880` 的"`PHASE7_MULTI_COUNT` ≤5"矛盾(HEAD 宏值仍是 8);`Drivers/BSP/NET/README.md:35` 与 `net_socket.c` 的"正常 FIN 路径零改动"与 Trap 23 二阶段矛盾。
|
||||
- ~~机理措辞~~(Trap 17/20 措辞、Trap 25 的 `NET_MSG_RESYNC_LISTEN`/`GET_REMOT_IPP`/§5.32+§5.23① 引用——**2026-10-13 重组已在本文件内更正**;`Test_Guide.md` 侧仍待同步)。
|
||||
- ~~已失效条目未标注~~(Trap 01/02/11 对现行初始化仍有效、Trap 09 `osDelay(7000)` 已被就绪屏障取代、Trap 10 注记失效、Trap 12 根因按 ff.c 更正——**2026-10-13 重组已全部就地标注**)。
|
||||
- ~~已失效条目未标注~~(Trap 01/02/11 对现行初始化仍有效、Trap 09 `osDelay(7000)` 已被就绪屏障取代、Trap 10 注记失效、Trap 12 移入存储架构说明 §10.1——**2026-10-13 重组已全部就地处置**)。
|
||||
- ~~日期~~(Trap 01/02/03/04/06/07 的"2025-07"早于仓库首提交 `b1d05091` 2026-06-05;Trap 03/04/06 的 Phase 编号错——**2026-10-13 重组已标注为"不可考/已更正"**)。
|
||||
- 证据通则:`*.log` 在 `.gitignore` 内 → 本文所有台架计数(40/40、34/34、227 轮、4 轮 11/11、13/13…)**脚本在库、日志未入库 = 不可复核**;Trap 25 引用的实验分支 `n30-chip-bench`(tip `eddbede`)不含 bench 源文件与 uvprojx 注册,裸机芯片台架无法从任何已提交状态重建(主分支存档见 `test/board/ch395f_reuse_bench.c`)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user