3d43cd87d5
- 从errlens模板(3角色)重构为1人+Arch AI+Worker AI(2角色) - 去掉review仓库/QA AI/Dev AI分离,Worker AI统一负责开发+测试 - 新增33个功能单元目录(Test/cases/),按P0-P6七阶段bring-up - 新增SDK驱动层骨架(Drivers/CMSIS/HAL_Driver/BSP) - Arch AI/Worker AI角色不绑定特定AI平台,任何AI可随时接手 - 5个ADR:测试驱动SDK演进、HAL/LL双层、分阶段bring-up、单仓库、角色可替换 - 参考errlens的分层信息架构:dashboard→card→task,token预算控制
1.9 KiB
1.9 KiB
可复用模式
目的
记录开发过程中发现的可持续复用的模式和做法。
P-001: 测试→LL→HAL 提炼路径
上下文: 每个功能单元从寄存器测试到最终 SDK 驱动的演进 问题: 测试代码和 SDK 驱动如何衔接,避免重复劳动 方案: 三步提炼路径:
- 寄存器测试代码 → 直接操作寄存器地址和位域,验证功能正确性
- LL 层提炼 → 将测试中的寄存器操作封装为内联函数+宏,零开销
- HAL 层封装 → 在 LL 层之上加句柄+状态机+回调,高抽象可移植
关键约束: 测试代码必须结构化(用宏封装寄存器操作,不用硬编码地址),否则提炼成本极高
何时用: 每个功能单元完成后 何时不用: 纯软件功能(无寄存器操作)
P-002: 勘误驱动规避
上下文: 芯片 bring-up 中发现的硅缺陷 问题: 如何让 SDK 驱动自动规避已知勘误 方案:
- 勘误记录在 Test/errata/ 中,结构化格式(影响外设、触发条件、规避方法)
- LL 层代码中在受影响操作处加 workaround 注释
- HAL 层代码中自动执行规避逻辑(对调用方透明)
何时用: 发现勘误后立即记录,LL/HAL 代码同步更新 何时不用: 确认无硅缺陷的功能
P-003: 跨 AI 上下文交接
上下文: 不同 AI 可能在不同时间、不同平台介入同一项目 问题: 如何确保任何 AI 随时能接手 方案:
- AGENTS.md 是通用上下文锚点
- dashboard.md 记录当前状态,任何 AI 读到即知全貌
- task 文件自包含(输入/输出/约束/验收),不依赖对话历史
- Git commit 记录所有变更,Git 是唯一的历史来源
核心原则: 对话是易失的,文件是持久的。每个判断产生后立即写入文件。
何时用: 每次 AI 会话 何时不用: 无(这是基础模式,始终适用)