库选择(Library Selection)
用途
该技能用于在嵌入式开发中挑选、替换、锁定版本或审计第三方库,覆盖 Arduino、ESP32、RP2040、C++ 以及厂商框架。其核心观点是:库是固件与硬件契约的一部分,一个能在某种架构上编译通过的流行包,在另一种架构上仍可能使用不兼容的引脚、定时器、内存、总线假设或 API。
主要能力
- 信息收集:记录确切的开发板/模块、架构、Arduino 核心或厂商 SDK、编译器、工具链、所需 API、总线/引脚约束、内存预算、许可证边界、更新策略,以及设备是否联网或可现场更新。
- 候选库对比:比较 API 契合度、开发板变体、传递依赖、Flash/SRAM/堆影响、阻塞行为、并发性、总线/上拉假设,以及错误与恢复行为。
- 上游溯源:查找上游源码、发布标签、许可证、支持的架构与框架说明,优先使用主仓库和当前发布说明。
- 维护状况评估:检查未解决问题和维护信号,但不把星标数或安装量当作兼容性证明。
- 版本锁定:选择固定版本,记录来源与选择理由,并记录不支持的开发板/框架分支。
- 验证:先运行最小编译夹具,再进行仿真或目标行为检查。
使用方式
按照技能给出的流程执行:先做信息收集,然后查找上游来源并比较候选库,再评估维护信号,接着锁定版本并记录来源,最后通过最小编译和目标行为检查验证。技能还要求遵循共享输出契约,说明假设、所需工具与版本、实现步骤、各证明阶段的测试/证据、已知限制以及恢复/安全说明。
适用场景
- 为特定开发板或架构选择或替换库。
- 在项目中对依赖进行版本锁定与审计。
- 评估候选库的资源占用、并发行为与硬件假设。
- 记录库的来源、许可证与选择理由。
- 对已连接设备制定依赖更新与密钥处理计划。
限制
本技能资料未提供具体库列表、价格、平台支持细节、性能数据或安装命令执行结果。它是一套评估流程与检查清单,实际兼容性、资源占用与安全性结论需要结合具体项目验证。文档中提到的共享输出契约位于 ../../docs/arduino-skill-contract.md,具体内容暂未提供。