用途
该技能面向嵌入式固件开发中的库选择与审计场景,适用于选择、替换、锁定(pin)或审计 Arduino、ESP32、RP2040、C++ 以及厂商框架的库。其核心观点是:库是固件与硬件契约的一部分,一个能在某架构上编译通过的流行包,在另一架构上仍可能使用不兼容的引脚、定时器、内存、总线假设或 API。
主要能力
- 记录输入信息:精确的板卡/模块、架构、Arduino 核心或厂商 SDK、编译器、工具链、所需 API、总线/引脚约束、内存预算、许可证边界、更新策略,以及设备是否已连接或可现场更新。
- 查找上游信息:定位上游源码、发布/标签、许可证、支持的架构与框架说明,优先使用主仓库和当前发布说明。
- 比较候选库:评估 API 契合度、板卡变体、传递依赖、Flash/SRAM/堆影响、阻塞行为、并发性、总线/上拉假设,以及错误与恢复行为。
- 检查维护信号:查看未解决问题与维护迹象,但不把星标数或安装量当作兼容性证明。
- 锁定与记录:选择固定版本,记录来源与理由,并记录不支持的板卡/框架分支。
- 验证:先运行最小编译夹具,再进行模拟或目标行为检查。
使用方式
该技能以流程化方式引导库选型:先完成信息录入,再查找上游来源,随后对候选库进行多维度比较,检查维护状态,锁定版本并记录决策依据,最后通过编译与行为验证确认。技能中提供了一组“反合理化”对照,用于纠正常见捷径思维:
- “安装量很大”——应验证架构、核心版本、API 与硬件契约。
- “最新版本最好”——应阅读发布说明、兼容性、资源占用与回归历史。
- “I2C 扫描器能找到它”——应测试库初始化、寄存器读取、时序与错误路径。
- “它在 AVR 上能用”——应重新检查 ESP32/S3/Pico 的架构、引脚、定时器与内存。
- “依赖只是个辅助”——应把传递代码与许可证/安全审查一并纳入。
验证要求
- 候选比较需包含来源、版本、架构与许可证。
- 最小编译输出需指明确切的 FQBN/环境与依赖解析结果。
- 需记录内存增量与一项运行时/模拟行为结果。
- 已连接设备需具备依赖更新与密钥处理计划。
共享输出契约
使用共享的 Arduino 技能契约:陈述假设、所需工具与版本、实现步骤、按证明阶段划分的测试/证据、已知限制,以及恢复/安全说明。
适用场景
适用于嵌入式固件项目中需要引入、替换或审计第三方库的场合,尤其是跨架构(如 AVR 与 ESP32/S3/Pico)迁移、资源受限环境、需要锁定版本或进行许可证与安全审查时。
限制
资料未提供具体支持的板卡清单、工具链版本要求、许可证类型、价格或收费信息,也未提供实际代码示例或安装命令。