# embed-ai-tool
**Repository Path**: group_agent/embed-ai-tool
## Basic Information
- **Project Name**: embed-ai-tool
- **Description**: 面向 AI 编程助手的嵌入式开发技能集,为大模型提供 MCU 固件开发全流程能力。涵盖多工具链构建(Keil / IAR / CMake / PlatformIO)、烧录、GDB 调试、串口监视、Modbus / CAN / VISA 协议调试、外设驱动适配及流水线编排,支持 Linux、macOS、Windows 三平台。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-04-28
- **Last Updated**: 2026-05-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 打通AI开发硬件产品的研发、调试、测试全自动化流程。
面向 AI 编程助手的嵌入式开发技能集,为大模型提供 MCU 固件开发全流程能力。涵盖多工具链构建(Keil / IAR / CMake / PlatformIO)、烧录、GDB 调试、串口监视、Modbus / CAN / VISA 协议调试、外设驱动适配及流水线编排,支持 Linux、macOS、Windows 三平台。
## 一键安装
在任意支持 skill 的大模型对话中输入:
```
帮我安装 https://github.com/LeoKemp223/embed-ai-tool.git 的 skill
```
大模型会自动克隆仓库、运行安装脚本完成配置。
## 脚本安装(推荐)
### 前置条件
- Python 3.8+(无需第三方依赖)
- Git
### 安装所有 skill
```bash
git clone https://github.com/LeoKemp223/embed-ai-tool.git
python3 embed-ai-tool/scripts/install.py /path/to/your-project
```
### 安装指定 skill
```bash
python3 embed-ai-tool/scripts/install.py /path/to/your-project --skills build-cmake flash-openocd serial-monitor
```
### 更新已安装的 skill
```bash
cd embed-ai-tool && git pull
python3 scripts/install.py /path/to/your-project --force
```
### 自动探测工具路径
安装时附加 `--detect`,自动扫描 PATH 中的嵌入式工具并写入工作区配置:
```bash
python3 embed-ai-tool/scripts/install.py /path/to/your-project --detect
```
### 查看安装状态
```bash
python3 embed-ai-tool/scripts/install.py /path/to/your-project --status
```
### 卸载
```bash
python3 embed-ai-tool/scripts/install.py /path/to/your-project --uninstall
```
### 列出可用 skill
```bash
python3 embed-ai-tool/scripts/install.py --list
```
### 手动工具路径配置
部分 skill 依赖外部工具(OpenOCD、Keil、arm-none-eabi-gcc 等),除 `--detect` 外也可手动配置:
```bash
# 设置工具路径(工作区级别)
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 命令
```bash
# Keil 工程:编译 + 烧录 + 串口
/build-keil
/flash-keil
/serial-monitor
# CMake 工程:编译 + 烧录 + 调试
/build-cmake
/flash-openocd
/debug-gdb-openocd
# ESP-IDF 工程:编译 + 烧录
/build-idf
/flash-idf
# 一键流水线(编译 → 烧录 → 监控)
/workflow
```
## 仓库结构
```text
.
├── 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
```
## 共享约定
所有 skill 围绕同一套核心上下文进行输入与输出:
- **Project Profile** — 工作区、目标、构建系统、探针和产物的标准化元数据
- **Skill Handoff Contract** — 下游 skill 可直接继承的上下文
- **Command Outcome Schema** — 成功、失败或阻塞结果的统一格式
- **Failure Taxonomy** — 标准失败分类及推荐后续动作
详见 [shared/contracts.md](shared/contracts.md) 和 [shared/failure-taxonomy.md](shared/failure-taxonomy.md)。
## 校验
修改后执行结构校验:
```bash
python3 scripts/validate_repo.py
```
校验器会检查所有 skill 必需文件、frontmatter 和章节标题是否齐全。
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md)。新 skill 请基于 [templates/skill-template/](templates/skill-template/) 模板创建。
## 后续扩展
仓库结构已为后续扩展预留空间,例如 `flash-pyocd`、`vendor-tools`、`fault-triage`、`trace-analysis`,无需改动核心约定。
感谢 LinuxDo 社区的支持!
[](https://linux.do/)