Sun01 - STM32智能编译烧录助手
版本: 1.0.0
基于: Qwen2.5-Coder-14B 本地大模型
简介
Sun01是一个纯对话控制的STM32开发助手,通过自然语言对话即可完成:
- 工程分析与诊断
- 代码编译(GCC ARM工具链)
- 固件烧录(J-Link调试器)
- 技术问题解答
目录结构
sun01/ ├── run.bat # Windows启动脚本 ├── run.ps1 # PowerShell启动脚本 ├── README.md # 本文档 ├── INSTALL.md # 安装指南 ├── sun01/ │ ├── agent.py # 对话式Agent主程序 │ ├── config.py # 配置文件 │ ├── __init__.py │ ├── __main__.py │ ├── cli.py # 命令行接口 │ ├── core/ │ │ ├── __init__.py │ │ ├── project_parser.py # 工程解析 │ │ ├── builder.py # 编译模块 │ │ ├── flasher.py # 烧录模块 │ │ └── ai_assistant.py # AI助手 │ └── templates/ │ ├── stm32f103c8.ld # 链接脚本模板 │ └── startup_stm32f103c8.s # 启动文件模板快速开始
1. 环境准备
确保以下软件已安装:
| 软件 | 版本要求 | 下载地址 |
|---|---|---|
| Python | >= 3.8 | https://www.python.org/downloads/ |
| Ollama | 最新版 | https://ollama.ai/ |
| GCC ARM | >= 10.0 | https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm |
| J-Link | 任意版本 | https://www.segger.com/downloads/jlink/ |
2. 安装AI模型
# 安装Ollama后,拉取代码模型 ollama pull qwen2.5-coder:14b3. 启动Sun01
双击run.bat或在命令行运行:
python sun01\agent.py4. 开始对话
================================================== Sun01 - STM32 Agent Powered by Qwen2.5-Coder-14B ================================================== [就绪] AI模型: qwen2.5-coder:14b [就绪] J-Link调试器 输入 '帮助' 查看使用说明,'退出' 结束对话 -------------------------------------------------- 你: 分析工程 F:\my_stm32_project Sun01: 工程分析完成! 路径: F:\my_stm32_project 类型: cubeide 芯片: STM32F103ZETx CPU: cortex-m3 源文件: 18 个 你: 编译 Sun01: 编译成功! 输出文件: HEX: F:\my_stm32_project\build\output.hex BIN: F:\my_stm32_project\build\output.bin 你: 烧录 Sun01: 烧录成功! 烧录成功 - STM32F103ZE 你: 退出支持的对话指令
工程操作
| 指令 | 说明 | 示例 |
|---|---|---|
| 分析 [路径] | 分析STM32工程结构 | 分析工程 F:\my_project |
| 编译 [路径] | 编译工程 | 编译或编译 F:\my_project |
| 烧录 [文件] | 烧录固件到开发板 | 烧录或烧录 F:\output.hex |
| 运行 [路径] | 编译并烧录 | 运行 F:\my_project |
系统操作
| 指令 | 说明 |
|---|---|
| 状态 | 检查环境状态 |
| 帮助 | 显示使用说明 |
| 退出 | 结束对话 |
技术问答
直接提问任何STM32相关问题:
你: 解释一下HAL库的初始化流程 你: 帮我写一个LED闪烁的代码 你: STM32的时钟系统怎么配置支持的工程类型
| 类型 | 识别方式 |
|---|---|
| STM32CubeIDE | .cproject文件 |
| Keil MDK | .uvprojx文件 |
| Makefile工程 | Makefile文件 |
| 通用工程 | 自动扫描源文件 |
支持的STM32系列
| 系列 | CPU | FPU |
|---|---|---|
| F103 | Cortex-M3 | softvfp |
| F407 | Cortex-M4 | fpv4-sp-d16 |
| F429 | Cortex-M4 | fpv4-sp-d16 |
| H743 | Cortex-M7 | fpv5-d16 |
配置说明
编辑sun01/config.py可修改:
# AI模型配置 OLLAMA_MODEL = "qwen2.5-coder:14b" # 默认目标设备 JLINK_DEVICE = "STM32F103C8" # 编译优化等级 DEFAULT_OPTIMIZATION = "-O2"常见问题
Q: Ollama服务未运行?
# 启动Ollama服务 ollama serveQ: 编译失败?
- 检查GCC ARM是否已安装并添加到PATH
- 确认工程路径正确
- 查看错误信息,AI会自动诊断
Q: 烧录失败?
- 检查J-Link是否已安装
- 确认J-Link已连接开发板
- 检查开发板供电正常
Q: 中文显示乱码?
使用PowerShell启动:
powershell -ExecutionPolicy Bypass -File run.ps1系统要求
- 操作系统: Windows 10/11
- 内存: 建议16GB以上(运行14B模型)
- 磁盘: 约20GB(含模型)
