Board Selection
从需求出发选择一个具体的开发板目标,而不是使用营销层面的系列名称。该技能会生成一份决策记录,供下游技能使用。
与 Board Support 的边界
当用户已经指定了某块板卡,需要其精确档案、能力、引脚风险、来源状态或框架兼容性时,使用 board-support。当用户是在根据项目需求进行选择、替换或比较板卡时,使用本技能。应消费 board-support 的档案,而不是重复或猜测其事实。
信息采集
需采集:所需电压与电源轨、输入/输出、PWM/ADC/定时器、总线与协议、内存/Flash/PSRAM、无线/USB、时序、电源与峰值负载、物理约束、生产数量、工具链、库约束、安全/更新需求以及恢复访问方式。
阅读 ../../references/boards/README.md,并使用 ../board-support/SKILL.md 获取相关的精确档案。若该板卡未被覆盖,则使用厂商产品页面、MCU/模块数据手册、板卡原理图以及所选框架变体源码。对推断出的值进行标注。
流程
将需求转化为硬性约束与偏好项。
淘汰在电压、引脚方向、外设、内存、电源或恢复约束上不合格的候选。
在剩余板卡之间,就比较精确 SKU、框架/核心、工具链、库架构、上传路径、安全/更新支持、可获得性与维护周期。
记录所选板卡、被拒替代方案、原因、未决风险,以及精确的构建标识/FQBN/环境。
视情况将板卡档案传递给 pin-assignment、wiring-safety-check、library-selection、memory-budgeting 和 hardware-tdd。
输出
返回一个紧凑表格,包含需求、约束、候选结果、来源和验证状态,随后是决策与未决风险。不得把板卡系列层面的事实当作板卡修订版的保证。
反合理化
捷径 | 回应
"ESP32" 已经足够精确。| 要求提供模块后缀、DevKit 修订版、Flash/PSRAM 及 USB 用途。
"这块板内存足够。" | 区分标称内存、应用内存、堆/栈、文件系统与 OTA 分区。
"USB 供电就能跑起来。" | 检查电源轨电压、稳压器余量、启动峰值与外部负载。
"任何 Arduino 库都能用。" | 检查架构、框架、版本、API 与依赖兼容性。
"能编译,所以板卡选对了。" | 电气、硬件、系统与部署层面的证明仍需保持开放。
验证
记录精确的板卡/修订版、MCU/模块、框架、工具链与版本。
每个选定值都有主要来源,或被标注为待验证。
所选目标存在仅编译或试运行路径。
被拒替代方案与未解决风险保持可见。
共享输出契约
使用共享的 Arduino 技能契约:说明假设、所需工具与版本、实现步骤、按证明阶段划分的测试/证据、已知限制,以及恢复/安全说明。