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: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: 编译失败?

  1. 检查GCC ARM是否已安装并添加到PATH
  2. 确认工程路径正确
  3. 查看错误信息,AI会自动诊断

Q: 烧录失败?

  1. 检查J-Link是否已安装
  2. 确认J-Link已连接开发板
  3. 检查开发板供电正常

Q: 中文显示乱码?

使用PowerShell启动:

复制代码
powershell -ExecutionPolicy Bypass -File run.ps1

系统要求

  • 操作系统: Windows 10/11
  • 内存: 建议16GB以上(运行14B模型)
  • 磁盘: 约20GB(含模型)
相关推荐
ting94520002 小时前
动手学深度学习(PyTorch版)深度详解(10): 优化算法 全解
人工智能·pytorch·深度学习·算法
EnCi Zheng2 小时前
03-注意力机制基础 [特殊字符]
人工智能
katheta2 小时前
时间序列模型总体分类
人工智能·分类·数据挖掘·时间序列·时序模型
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-05-01
人工智能·经验分享·深度学习·产品运营
Ww.xh2 小时前
STM32按键去抖防竞争方案
stm32·单片机·嵌入式硬件
缝艺智研社2 小时前
誉财 YC - 21 平板下摆机:服装下摆与袖口加工的卓越之选
大数据·人工智能·自动化·电脑·新人首发·线上模板机
JianZhen✓2 小时前
浅谈AI代码编辑器使用
人工智能
Deitymoon2 小时前
ESP8266——烧录AT固件
单片机·嵌入式硬件
byte轻骑兵2 小时前
蓝牙CAP规范解析:构建多设备协同的通用音频新生态
人工智能·音视频·le audio·低功耗音频·蓝牙通话