版本 : 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:14b
3. 启动Sun01
双击 run.bat 或在命令行运行:
python sun01\agent.py
4. 开始对话
==================================================
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 serve
Q: 编译失败?
- 检查GCC ARM是否已安装并添加到PATH
- 确认工程路径正确
- 查看错误信息,AI会自动诊断
Q: 烧录失败?
- 检查J-Link是否已安装
- 确认J-Link已连接开发板
- 检查开发板供电正常
Q: 中文显示乱码?
使用PowerShell启动:
powershell -ExecutionPolicy Bypass -File run.ps1
系统要求
- 操作系统: Windows 10/11
- 内存: 建议16GB以上(运行14B模型)
- 磁盘: 约20GB(含模型)