第六周 - Antareske/tgoskits GitHub Wiki

实习周报(2026-08-15)

本周跟进了 SG2002 WiFi 优化的 PR。本周忙于准备比赛,未能做太多工作 :(

本周工作

SG2002 WiFi 上行 XFER_COMPLETE 中断丢窗口

SG2002 的 SDHCI 以 PIO 模式与 AIC8800 WiFi 芯片通信,CMD53 传输完成后由 XFER_COMPLETE 中断唤醒阻塞任务。该等待路径存在一个丢唤醒窗口:任务重开 XFER_COMPLETE 中断信号(unmask)后、进入 WaitQueue 前,传输可能已经完成,ISR 的通知因任务尚未入队而落空,任务只能睡满 10ms 超时后才发现完成。上传路径每 128KB 需数百次 CMD53 传输、每次都等待一次 XFER_COMPLETE,窗口命中时吞吐与尾延迟受损。本次改动把条件检查与任务入队收拢到同一关中断临界区,关闭该窗口;同时补上错误状态位的 STS_EN 使能与确定性回归测试。

方案:把条件检查与任务入队收拢到同一关中断临界区,关闭该窗口;同时补上错误状态位的 STS_EN 使能与确定性回归测试。

文档:SDHCI XFER_COMPLETE 丢唤醒窗口的修复与效果

PR:#1914

下周

参加比赛答辩。期间会继续推进 SG2002 相关工作:

  1. 继续完善 future / 异步解决中断路径延迟,流水线保证网卡一直有数据可写(e.g. 双缓存),接近忙等轮询的水平。

  2. AI 使用采集:VSCODE 插件,记录 ai/编程 交互日志,为未来比赛/能力评估提供参考。