第六周 - 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 相关工作:
-
继续完善 future / 异步解决中断路径延迟,流水线保证网卡一直有数据可写(e.g. 双缓存),接近忙等轮询的水平。
-
AI 使用采集:VSCODE 插件,记录 ai/编程 交互日志,为未来比赛/能力评估提供参考。