Skip to content

LeoKemp223/embed-ai-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

打通AI开发硬件产品的研发、调试、测试全自动化流程。

面向 AI 编程助手的嵌入式开发技能集,为大模型提供 MCU 固件开发全流程能力。涵盖多工具链构建(Keil / IAR / CMake / PlatformIO)、烧录、GDB 调试、串口监视、Modbus / CAN / VISA 协议调试、外设驱动适配及流水线编排,支持 Linux、macOS、Windows 三平台。

image

一键安装

在任意支持 skill 的大模型对话中输入:

帮我安装 https://github.com/LeoKemp223/embed-ai-tool.git 的 skill

大模型会自动克隆仓库、运行安装脚本完成配置。

脚本安装(推荐)

前置条件

  • Python 3.8+(无需第三方依赖)
  • Git

安装所有 skill

git clone https://github.com/LeoKemp223/embed-ai-tool.git
python3 embed-ai-tool/scripts/install.py /path/to/your-project

安装指定 skill

python3 embed-ai-tool/scripts/install.py /path/to/your-project --skills build-cmake flash-openocd serial-monitor

更新已安装的 skill

cd embed-ai-tool && git pull
python3 scripts/install.py /path/to/your-project --force

自动探测工具路径

安装时附加 --detect,自动扫描 PATH 中的嵌入式工具并写入工作区配置:

python3 embed-ai-tool/scripts/install.py /path/to/your-project --detect

查看安装状态

python3 embed-ai-tool/scripts/install.py /path/to/your-project --status

卸载

python3 embed-ai-tool/scripts/install.py /path/to/your-project --uninstall

列出可用 skill

python3 embed-ai-tool/scripts/install.py --list

手动工具路径配置

部分 skill 依赖外部工具(OpenOCD、Keil、arm-none-eabi-gcc 等),除 --detect 外也可手动配置:

# 设置工具路径(工作区级别)
python3 scripts/em_config.py set openocd /usr/bin/openocd

# 设置全局工具路径
python3 scripts/em_config.py set uv4 "C:\Keil_v5\UV4\UV4.exe" --global

# 查看已配置的工具
python3 scripts/em_config.py list

# 查看配置文件位置
python3 scripts/em_config.py path

技能列表

技能 说明
build-cmake 配置并构建基于 CMake 的 MCU 固件工程
build-keil 配置并构建基于 Keil MDK 的固件工程
build-iar 配置并构建基于 IAR EWARM 的固件工程
build-platformio 配置并构建基于 PlatformIO 的固件工程
flash-keil 通过 Keil MDK 内置调试器烧录固件
flash-openocd 通过 OpenOCD 烧录 ELF/HEX/BIN 产物
flash-platformio 通过 PlatformIO 上传机制烧录固件
debug-gdb-openocd 通过 OpenOCD 附着 GDB,支持下载后调试、仅附着和崩溃现场排查
debug-platformio 通过 PlatformIO 内置 GDB 调试
serial-monitor 选择串口并抓取运行日志
modbus-debug Modbus RTU/TCP 寄存器读写、从站扫描和持续监控
can-debug CAN 总线帧监听、发送和节点扫描
visa-debug VISA 仪器 SCPI 通信、波形捕获和截图
peripheral-driver 搜索并适配开源 BSP 外设驱动到目标工程
stm32-hal-development STM32 HAL 库开发指导与最佳实践
workflow 串联多个 skill 的流水线编排(编译+烧录+监控/调试)
build-idf 配置目标芯片并构建 ESP-IDF 固件工程
flash-idf 通过 ESP-IDF 工具链烧录固件并支持 JTAG 调试
flash-jlink 通过 SEGGER J-Link 烧录固件,支持 RTT 日志捕获
debug-jlink 通过 J-Link GDB Server 进行固件在线调试和崩溃分析
memory-analysis 解析 .map 文件或 ELF,生成内存使用报告和符号大小排名
rtos-debug FreeRTOS/RT-Thread/Zephyr 线程感知调试,栈水位和死锁检测
static-analysis cppcheck/clang-tidy/GCC analyzer 静态分析,MISRA-C 合规

LLM 使用示例

安装 skill 后,在对话中用自然语言即可触发,也可以直接调用 skill 命令。

自然语言

👤 编译烧录
🤖 检测到 Keil 工程 Project.uvprojx,目标芯片 STM32F103C8。
   ✅ 编译成功,产物: build/Project.axf (48.2 KB)
   检测到 ST-Link V2,烧录中...
   ✅ 烧录成功,已校验并复位。

👤 看串口
🤖 检测到 COM3 (115200),抓取日志:
   [00:00.000] System Start
   [00:00.012] UART initialized

👤 调试下 UART
🤖 已在 HAL_UART_Transmit 入口设置断点。
   断点命中: huart->Init.BaudRate = 9600,与预期 115200 不符。
   建议检查 UART 初始化代码中的波特率设置。

Skill 命令

# Keil 工程:编译 + 烧录 + 串口
/build-keil
/flash-keil
/serial-monitor

# CMake 工程:编译 + 烧录 + 调试
/build-cmake
/flash-openocd
/debug-gdb-openocd

# ESP-IDF 工程:编译 + 烧录
/build-idf
/flash-idf

# 一键流水线(编译 → 烧录 → 监控)
/workflow

仓库结构

.
├── skills/                     # 技能模块
│   ├── build-cmake/            # CMake 构建
│   ├── build-keil/             # Keil 构建
│   ├── build-iar/              # IAR 构建
│   ├── build-platformio/       # PlatformIO 构建
│   ├── flash-keil/             # Keil 烧录
│   ├── flash-openocd/          # OpenOCD 烧录
│   ├── flash-platformio/       # PlatformIO 烧录
│   ├── debug-gdb-openocd/      # GDB 调试
│   ├── debug-platformio/       # PlatformIO 调试
│   ├── serial-monitor/         # 串口监视
│   ├── modbus-debug/           # Modbus 调试
│   ├── can-debug/              # CAN 总线调试
│   ├── visa-debug/             # VISA 仪器调试
│   ├── peripheral-driver/      # 外设驱动适配
│   ├── stm32-hal-development/  # STM32 HAL 开发
│   ├── workflow/               # 流水线编排
│   ├── build-idf/              # ESP-IDF 构建
│   ├── flash-idf/              # ESP-IDF 烧录
│   ├── flash-jlink/            # J-Link 烧录
│   ├── debug-jlink/            # J-Link GDB 调试
│   ├── memory-analysis/        # 固件内存分析
│   ├── rtos-debug/             # RTOS 调试
│   └── static-analysis/        # 静态分析
├── shared/                     # 共享约定
│   ├── contracts.md            # 上下文交接合约
│   ├── failure-taxonomy.md     # 失败分类
│   ├── platform-compatibility.md
│   ├── project_detect.py       # 统一项目探测模块
│   └── references/
├── templates/                  # Skill 模板
│   └── skill-template/
└── scripts/
    ├── install.py              # 安装 / 卸载 / 状态检查
    ├── validate_repo.py        # 结构校验
    └── em_config.py            # 工具路径配置 CLI
PixPin_2026-04-26_22-31-41

共享约定

所有 skill 围绕同一套核心上下文进行输入与输出:

  • Project Profile — 工作区、目标、构建系统、探针和产物的标准化元数据
  • Skill Handoff Contract — 下游 skill 可直接继承的上下文
  • Command Outcome Schema — 成功、失败或阻塞结果的统一格式
  • Failure Taxonomy — 标准失败分类及推荐后续动作

详见 shared/contracts.mdshared/failure-taxonomy.md

校验

修改后执行结构校验:

python3 scripts/validate_repo.py

校验器会检查所有 skill 必需文件、frontmatter 和章节标题是否齐全。

贡献

参见 CONTRIBUTING.md。新 skill 请基于 templates/skill-template/ 模板创建。

后续扩展

仓库结构已为后续扩展预留空间,例如 flash-pyocdvendor-toolsfault-triagetrace-analysis,无需改动核心约定。

感谢 LinuxDo 社区的支持! LinuxDo

About

面向 AI 编程助手的嵌入式开发技能集,为大模型提供 MCU 固件开发全流程能力。涵盖多工具链构建(Keil / IAR / CMake / PlatformIO)、烧录、GDB 调试、串口监视、Modbus / CAN / VISA 协议调试、外设驱动适配及流水线编排,支持 Linux、macOS、Windows 三平台。

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors