随着 AI Agent 逐渐进入嵌入式开发工作流,它能做的事情已经不只是编写代码、分析报错和生成测试程序。

在 MCU 项目开发中,能不能让 AI Agent 帮我们完成引脚规划?
最近,就在论坛看到有开发者做了一个名为 mcu-pin-config 的 Skill(原帖地址:https://bbs.21ic.com/icview-3526988-1-1.html)。只需要告诉 AI Agent 所使用的 MCU 型号、封装类型和外设需求,它便可以根据芯片引脚复用数据,自动搜索一套无冲突的外设引脚分配方案。
本次测试使用的 MCU 和外设需求如下:
MCU:极海半导体APM32F427
- SPI1(with NSS)
AI Agent 调用 mcu-pin-config 后,大约 28 秒便完成了引脚搜索,并给出如下分配结果。
从结果可以看到,Skill 为各外设分配了对应的引脚:
Ethernet 使用 RMII 接口;
SPI1 包含 MISO、MOSI、NSS 和 SCK;
USART1 使用 PA10 和 PA9;
未指定实例的 UART 自动匹配为 UART4;
未指定实例的 I2C 自动匹配为 I2C1。
由于 UART 和 I2C 在输入时没有指定具体外设实例,Skill 会根据当前可用引脚进行灵活匹配,自动选择能够避免冲突的 UART4 和 I2C1。
经过数据手册核对,本次生成的引脚分配方案没有发现明显冲突,可以作为原理图设计前期的引脚规划参考。
3. 它是如何完成引脚分配的?
mcu-pin-config的核心是一个基于回溯搜索的引脚分配求解器。
在同一颗 MCU 中,不同外设信号可能映射到相同的物理引脚。例如,某个引脚可能同时支持 UART、SPI、定时器或其他复用功能。当项目需要同时启用多个外设时,就需要从大量候选组合中找到一套不存在重复占用的方案。
Skill 会根据以下信息进行搜索:
为了提高搜索效率,程序会优先处理信号数量较多、候选组合较少的外设,再通过回溯算法逐步排除引脚冲突。
表示不固定实例,由程序从可用的 UART 外设中自动选择。
对于存在不同信号组合的外设,也可以通过括号指定具体模式,例如:
USART1(hw flow-ctrl)
此外,Skill 还能够处理部分常见的信号别名,例如 NSS 与 CS、MOSI 与 SIMO、MISO 与 SOMI,减少不同芯片命名方式带来的匹配问题。
只需要把下面这句话发送给支持 Skill 的 AI Agent:
请根据 https://skillhub.cn/install/skillhub.md,安装 mcu-pin-config。
安装完成后,就可以看到 Agent 会显示 Skill 的安装路径以及其中包含的脚本和 MCU 引脚数据。
本次安装的 Skill 主要包含:
SKILL.md:技能说明和使用方法;
data/:APM32、G32、GW 等系列 MCU 的引脚数据;
scripts/:引脚搜索、信号名称规范化和引脚表转换脚本。
该工具仅依赖 Python 标准库,不需要另外安装第三方 Python 依赖。
5. 在 SkillHub 中查看
mcu-pin-config 已发布至 SkillHub:
前往 SkillHub 查看 mcu-pin-config
(https://skillhub.cn/skills/user_0d26fb05/mcu-pin-config
进入 Skill 页面后,可以直接复制安装提示词,也可以下载 ZIP 安装包。
为了让 Agent 更准确地理解需求,建议同时提供 MCU 型号、封装、外设实例和接口模式,例如:
请为 APM32F427 的 LQFP64 封装分配以下外设引脚:
1. ETH,使用 RMII 模式;
2. USART1,需要 RX 和 TX;
3. 一路 UART,实例可以灵活选择;
4. 一路 I2C,实例可以灵活选择;
5. SPI1,需要 MISO、MOSI、SCK 和 NSS。
请避免引脚冲突,并以表格形式输出外设、信号、引脚名称和封装引脚号。相比只输入外设名称,明确接口模式和信号要求,可以降低 Agent 对需求的误解,也方便后续人工核对。
项目源码已开源至 Gitee:
https://gitee.com/quincyzh/skills_mcu-pin-config
mcu-pin-config-v0.1.1.zip
Excel、CSV 引脚表转换工具;
多款极海 MCU 的预置引脚数据。
开发者也可以参考现有数据格式,为更多 MCU 型号补充引脚复用数据。
AI Agent 可以减少反复查阅引脚表和人工组合外设的工作量,但生成结果仍不能直接替代硬件工程师的最终审核。在用于原理图和 PCB 设计前,建议重点检查:
MCU 具体型号和封装是否完全一致;
引脚是否支持目标外设的对应复用功能;
调试接口和启动配置引脚是否被占用;
晶振、USB、Ethernet 等接口是否存在特殊要求;
高速信号是否满足 PCB 布局和电气设计要求;
数据手册及勘误表中是否存在额外限制。
Skill 所使用的引脚数据整理自官方数据手册,在数据录入和格式转换过程中仍可能出现遗漏或编辑错误。因此,生成结果更适合作为前期规划和辅助检查工具,最终设计请以极海官方发布的最新数据手册、用户手册和勘误表为准。
AI Agent 在 MCU 开发中的作用,或许不应该只停留在“帮忙写代码”。从器件选型、引脚规划和外设初始化,到数据手册查询、驱动生成和问题排查,很多重复性工作都可以通过 Skill 和结构化数据逐步自动化。
mcu-pin-config 目前仍在持续完善中,欢迎大家安装体验。如果使用过程中发现引脚数据错误、型号缺失或外设匹配异常,也欢迎通过项目仓库反馈。期待 AI Agent 能够真正成为 MCU 开发过程中的实用助手。
说明:mcu-pin-config 为社区开发者制作的第三方开源 Skill,并非极海官方配置工具。Skill 输出结果仅供开发设计参考,实际项目请以极海官方产品资料为准。
