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

在 MCU 项目开发中,能不能让 AI Agent 帮我们完成引脚规划?

最近,极海论坛有用户开发了一个名为 mcu-pin-config 的 Skill。开发者只需要告诉 AI Agent 所使用的 MCU 型号、封装类型和外设需求,它便可以根据芯片引脚复用数据,自动搜索一套无冲突的外设引脚分配方案。

实际效果如何?

本次测试使用的 MCU 和外设需求如下:

分配外设方案:

  • MCU:APM32F427
  • 封装:LQFP64

外设列表:

  • ETH(RMII)
  • USART1
  • UART
  • I2C
  • 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。

经过数据手册核对,本次生成的引脚分配方案没有发现明显冲突,可以作为原理图设计前期的引脚规划参考。

它是如何完成引脚分配的?

mcu-pin-config 的核心是一个基于回溯搜索的引脚分配求解器。

在同一颗 MCU 中,不同外设信号可能映射到相同的物理引脚。例如,某个引脚可能同时支持 UART、SPI、定时器或其他复用功能。当项目需要同时启用多个外设时,就需要从大量候选组合中找到一套不存在重复占用的方案。

Skill 会根据以下信息进行搜索:

  • MCU 型号;
  • 芯片封装;
  • 外设实例;
  • 外设工作模式;
  • 每个信号对应的可用物理引脚。

为了提高搜索效率,程序会优先处理信号数量较多、候选组合较少的外设,再通过回溯算法逐步排除引脚冲突。

它还支持两种外设指定方式:

USART1

表示固定使用 USART1。

UART

表示不固定实例,由程序从可用的 UART 外设中自动选择。

对于存在不同信号组合的外设,也可以通过括号指定具体模式,例如:

SPI1(with NSS)
ETH(RMII)
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 依赖。

在 SkillHub 中查看

mcu-pin-config 已发布至 SkillHub:

SkillHub-专为中国用户优化的Skills社区

进入 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

本文附件同时提供当前版本的 Skill 安装包:

mcu-pin-config-v0.1.1.zip

附件中包含:

  • MCU 引脚分配主程序;
  • 外设及信号定义文件;
  • 引脚名称规范化脚本;
  • 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 输出结果仅供开发设计参考,实际项目请以极海官方产品资料为准。


原帖作者:wangqy_ic

原帖

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐