用途
Board Support 是该仓库中面向 AI 的权威精确开发板参考与查询入口,服务于有来源支撑的开发板清单。它的职责是把一个具名目标解析为唯一精确档案,提取能力与风险,并把结果交给下游技能。它不替代选板:从项目需求出发选择或更换开发板由 board-selection 负责。
主要能力
- 具名开发板查询、能力问题、档案检索、精确引脚风险检查、来源可信度问题、框架兼容性检查均从此处开始。
- 解析后返回紧凑的身份信息、逻辑电平、内存、总线、ADC/PWM/定时器能力、保留或高风险引脚、框架/工具链边界、来源可信度与开放缺口。
- 将 MCU 电气限制与开发板稳压器、连接器、总 GPIO、射频峰值或外部负载限制分开处理。
- 保留 unknown、gap 与 verify 声明,不用同系列假设填补。
- 对框架请求记录确切的开发板包/核心、版本或提交、FQBN/PlatformIO 环境、库版本与上传工具;档案中的框架列表只是兼容范围,不代表构建已运行。
使用方式
先阅读共享的 Arduino 技能契约、开发板清单与 AI 参考模式,再阅读匹配的 Markdown 档案及其事实到来源映射(位于 ../../references/boards/)。仅当用户同时要求 GPIO 分配或声明时,才加载 ../pin-assignment/SKILL.md;当请求包含接线、烧录、供电、测量、恢复或多会话工作时,先加载 ../embedded-project-loop/SKILL.md。
在仓库检出中,解释档案前先使用确定性解析器:
python3 ../../scripts/resolve_board_profile.py
--query "<board name>" --purpose lookup
引脚或电气建议路径使用 --purpose pin 或 --purpose electrical,并通过重复的 --identity FIELD=VALUE 传入已确认值。解析器返回非零状态是停止条件,不是猜测许可。
解析流程:捕获开发板名称、确切修订、模块后缀、MCU、框架/核心、工具链、主机与所需证明阶段,缺失值标记为 unknown;在索引的 id、name 与 aliases 中规范化用户名称,要求恰好一个匹配;读取匹配的 identity_contract,若 profile_type 为 bounded-variant-family,需确认请求的变体及 required_for_pin_advice 或 required_for_electrical_advice 中每个字段后才能给出依赖该边界的建议;身份充分时读取 Markdown 档案并返回紧凑信息。
适用场景
适用于具名开发板查询、能力问题、档案检索、精确引脚风险检查、来源可信度问题与框架兼容性检查。组合固件/电子/电源/网络/部署工作从 arduino-workflow-router 开始,由路由器在需要解析具名开发板时加载本技能。引脚分配与原始声明格式属于 pin-assignment。
限制
- 索引是紧凑检索面,Markdown 档案才是事实、注意事项与缺口的详细来源;不得虚构档案或其引用一手来源中不存在的字段。
- 营销系列、克隆、载板或不同后缀的模块不算精确匹配。
- 多个档案匹配时须停止并请求修订、模块后缀、开发板照片、产品标识或框架目标以消歧。
- 无档案匹配时说明索引开发板集不支持,提供建立新档案所需的最少一手来源,不得从相似开发板映射引脚。
- 克隆与载板只能把参考档案作为比较,并标注每个未验证的开发板级假设。
- 解析信封是路由记录,不是构建、上传、硬件、系统或部署声明;unsupported 表示无索引档案匹配,profile-gap 表示档案匹配但请求事实无来源支撑。
- 来源查询与模式验证属于文档证据,不证明接线、供电、烧录、运行时行为、系统行为或现场部署;physical_status 在用户提供开发板专属证据前保持 unverified。
- 输出须包含 Assumptions、Required tools and versions、Implementation steps、Tests and evidence、Known limitations、Recovery and security notes 等部分。
反合理化要点
不得因“是 ESP32 所以引脚已知”而跳过解析确切系列、模块、DevKit 修订与框架变体;不得因索引标注 source-backed 就认为每个值已验证;不得因相似开发板有相同排针就推断一致;不得因核心支持该板就认为已编译;不得因引脚列表看似安全就跳过启动、闪存/PSRAM、USB、总线、电压、上拉与电流约束复查;不得因系列档案匹配就自行选择变体;不得因解析信封显示 resolved 就认为硬件已证明。