ZhinkCS头像
关注

让 AI 编码助手直接操控编译器、调试器和通信总线,补上嵌入式开发自动化的最后一环

仓库

项目已开源,欢迎提 Issue 和 PR。

GitHub项目地址

前言

之前对于AI在嵌入式开发中的使用主要是分析代码、生成代码,但是AI生成的代码通常不能一次性成功,需要下载到芯片多次调试反馈AI再调后才能使用。

但是随着使用ClaudeCode、Codex的时间越长,慢慢发现,AI非常善于使用命令行,最近各大软件也纷纷推出自己的CLI工具。此时突然明白了Skill的一个重要的用法,就是将一些命令行工具的使用沉淀为Skill,让AI在合适的地方自己去调用这些工具,完成原本MCP的功能。

于是我就去调研,看看SMT32开发工具中,有没有这样的实现。结果是这些工具都有对应的命令行工具及实现。
所以,现在我们能将AI在嵌入式领域的开发中,编译、调试验证的最后一小步打通,形成闭环开发。

为什么需要它

嵌入式开发有一道纯软件开发没有的鸿沟:写完代码只是开始,编译、烧录、调试每一步都需要人在中间传递信息。

AI 改完代码 → 你手动编译 → 你手动烧录 → 你把报错复制给 AI → AI 再改 → 你再编译……

embeddedskills 把这个循环交给 AI 自己跑:

有错误

通过

异常

正常

💬 需求沟通

✍️ 代码生成与优化

🔨 自动编译 keil build / gcc build

🤖 AI 读取编译错误

⚡ 自动烧录 openоcd flash / jlink flash

🔬 自动调试验证

🤖 AI 读取调试信息

✅ 提交最终代码


传统 AI 辅助AI + embeddedskills
代码编写✅ AI✅ AI
编译构建🙋 你🤖 AI 调用 Keil / GCC
烧录下载🙋 你🤖 AI 调用 J-Link / OpenOCD
调试验证🙋 你🤖 AI 断点 / 寄存器 / 内存
通信调试🙋 你🤖 AI 串口 / CAN / 网络
错误修正🙋 你复制报错给 AI🤖 AI 自主读取并修正

Skill 一览

🎯 workflow
自动识别工程 · 选择工具链 · 串联全流程

🔨 构建层

🔌 通信层

🔬 调试层

keil

gcc

serial

can

net

jlink

openocd


分类Skill能做什么主要子命令
🔨 构建keilKeil MDK 工程扫描、Target 枚举、编译、重建、清理scan targets build rebuild clean flash
🔨 构建gccCMake 型 GCC 工程配置、编译、大小分析scan presets configure build rebuild size
🔬 调试jlink烧录、读写内存/寄存器、RTT/SWO、GDB 调试flash read-mem write-mem regs rtt swo + GDB
🔬 调试openocd烧录、擦除、GDB/Telnet、Semihosting/ITMflash erase reset gdb-server semihosting itm
🔌 通信serial扫描串口、实时监控、发送数据、Hex 查看scan monitor send hex log
🔌 通信canCAN/CAN-FD 监控、发帧、DBC 解码、统计scan monitor send decode stats
🔌 通信net抓包分析、连通性测试、端口扫描、流量统计capture analyze ping scan stats
🎯 编排workflow自动识别工程 → 选择工具链 → 串联全流程plan build build-flash build-debug observe diagnose

[!TIP]
Keil / GCC 与 J-Link / OpenOCD 可自由正交组合,四种搭配均可开箱即用。


外部依赖

展开查看各 Skill 所需依赖
Skill依赖
keilKeil MDK (UV4.exe)
gccCMake · Ninja/Make · ARM GNU Toolchain
jlinkSEGGER J-Link Software · arm-none-eabi-gdb
openocdOpenOCD · 调试器驱动 (ST-Link / CMSIS-DAP / DAPLink / FTDI)
serialpyserial · USB 转串口驱动
canpython-can · cantools · pyserial · USB-CAN 驱动
netWireshark (tshark) · Npcap

除 CAN 和串口外,所有 Skill 均基于 Python 标准库实现,无需额外安装 Python 依赖。


1. 安装

方式一:npx(推荐)

借助 skills CLI 工具,一条命令即可完成安装:

# 安装全部 skill(自动检测 AI 工具并安装)
npx skills add https://github.com/zhinkgit/embeddedskills -g -y

在这里插入图片描述

# 只安装某个 skill(如只需要 openocd)
npx skills add https://github.com/zhinkgit/embeddedskills --skill openocd -g -y

# 管理
npx skills ls -g        # 查看已安装列表
npx skills update -g    # 更新到最新版本
npx skills remove -g    # 移除

方式二:手动 clone

若 npx skills 不可用,直接 clone 到对应目录:

# Claude Code(全局生效)
git clone https://github.com/zhinkgit/embeddedskills.git ~/.claude/skills/embeddedskills

# Codex(全局)
git clone https://github.com/zhinkgit/embeddedskills.git ~/.codex/skills

# Codex(仅当前项目)
git clone https://github.com/zhinkgit/embeddedskills.git .codex/skills

在这里插入图片描述

常见 Skill 目录参考:

AI 工具全局路径项目级路径
Claude Code~/.claude/skills/.claude/skills/
Codex~/.codex/skills/.codex/skills/
通用~/.agents/skills/.agents/skills/
Cursor / OpenCode参考对应工具文档—

2. 验证安装

安装完成后,在 AI 助手中输入 /,能看到 OpenOCD、keil 等命令描述即为成功。

在这里插入图片描述

[!TIP]
看不到斜杠命令?按以下顺序排查:

  • Skill 目录路径是否正确(注意全局 vs 项目级)
  • SKILL.md 文件是否完整存在于每个 Skill 子目录下
  • AI 工具是否支持 Skill 协议或自定义指令加载

3. 配置环境参数

Skill 采用三层配置,优先级从高到低:

CLI 参数
  └─► skill/config.json              ← 工具路径、本机硬件参数(UV4.exe、JLink.exe 等)
        └─► .embeddedskills/config.json  ← 工程默认配置(目标芯片、接口、日志目录)
              └─► .embeddedskills/state.json  ← 运行状态(上次构建/烧录/调试记录)
                    └─► 默认值

[!NOTE]
不需要手动编辑配置文件。首次使用时直接和 AI 对话,AI 会根据上下文引导你填写工具路径、目标芯片等参数,并自动写入配置文件。


4. 硬件连接 & 工具链验证

使用 CMSIS-DAP 调试器(如 DAPLink)连接开发板。

[!IMPORTANT]
建议在让 AI 接管之前,先手动跑一次编译和烧录,确认工具链本身没问题。这样后续如果出错,可以确定问题在代码而不在环境配置。

手动验证编译:

在这里插入图片描述
在这里插入图片描述

手动验证烧录:

在这里插入图片描述


5. 让 AI 接管

Skill 的 description 字段定义了触发关键词,AI 会自动识别意图并调用对应 Skill。说人话就够了,不需要记命令:

你说AI 触发的 Skill
“帮我编译一下”keil 或 gcc
“烧录到板子上”openocd 或 jlink
“看看串口输出”serial
“单步调试一下”openocd 或 jlink
“看看寄存器”openocd 或 jlink
“一键编译烧录调试”workflow

AI 自主完成编译下载:

在这里插入图片描述
在这里插入图片描述

AI 自主调试:

在这里插入图片描述


每次调用结果自动记录到项目目录下的 .embeddedskills/ 文件夹,方便后续排查问题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此后的开发模式变为:描述需求 → AI 生成代码 → 自动编译烧录调试 → 迭代修改,直到功能完成。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/qq_46248368/article/details/160208553

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--