2、开发环境搭建:STM32CubeMX安装、STM32CubeIDE配置、X-CUBE-AI扩展包安装、Python环境准备
好,咱们正式开始动手。这一章要搭环境,说白了就是把所有工具都装好、配通。我见过不少同学,代码写得挺溜,结果卡在环境搭建上,一卡就是半天。别急,跟着我的节奏来,半小时内搞定。
2.1 STM32CubeMX安装——图形化配置的起点
STM32CubeMX,我个人习惯叫它“图形化配置神器”。你想想看,以前配个时钟树、管脚映射,得翻几百页数据手册。现在呢?点几下鼠标就完事。
安装步骤其实很简单:
- 去ST官网下载最新版安装包。注意区分Windows、Linux、macOS版本。
- 双击运行,一路Next。嗯,这里要注意:安装路径不要带中文,否则后面编译会报一些莫名其妙的错。
- 安装完成后,首次启动会提示你选择工作空间。我建议单独建一个文件夹,比如
D:\STM32Workspace,别跟其他项目混在一起。
装好之后,你可以先随便选一个芯片,比如STM32F407VGT6,试试能不能正常打开配置界面。能正常显示管脚图、时钟树,那就说明安装成功了。
2.2 STM32CubeIDE配置——从安装到第一次编译
STM32CubeIDE,说白了就是ST官方基于Eclipse打造的集成开发环境。它把CubeMX的配置功能和IDE的编译调试功能合二为一了。我个人觉得,对于AI集成开发来说,用这个比Keil顺手。
安装要点:
- 同样去官网下载,同样注意路径不要有中文。
- 安装过程中会提示安装驱动,建议全部勾上。尤其是ST-Link驱动,后面调试全靠它。
- 安装完成后,第一次启动会初始化工作空间。我习惯把工作空间设在CubeMX的workspace同一个目录下,方便管理。
配置调试器:
我第一次用CubeIDE时,写完代码点调试,结果提示找不到调试器。后来才发现,默认的调试配置没设对。你按这个步骤来:
- 点击菜单栏
Run→Debug Configurations - 选择你的工程,在
Debugger选项卡里,把Debug probe选成ST-LINK (OpenOCD) - 接口选
SWD,速度建议先选4 MHz,稳定后再往上调
2.3 X-CUBE-AI扩展包安装——让STM32学会“思考”
X-CUBE-AI,这才是咱们课程的核心。它能把训练好的神经网络模型,转换成能在STM32上跑的C代码。说白了,就是给单片机装上“AI大脑”。
安装方式有两种:
| 方式 | 操作步骤 | 适用场景 |
|---|---|---|
| 通过CubeMX安装 | 打开CubeMX → Help → Manage embedded software packages → 搜索X-CUBE-AI → 勾选安装 | 推荐,自动匹配版本 |
| 手动下载安装 | 官网下载压缩包 → 解压到CubeMX的Repository目录 | 网络不好时备用 |
我建议你用第一种方式。为什么呢?因为版本匹配问题。我曾经手动装过一个旧版X-CUBE-AI,结果跟CubeMX版本不兼容,折腾了一下午才找到原因。自动安装能避免这种坑。
验证安装是否成功:
装完之后,新建一个工程,在 Pinout & Configuration 标签页里,左侧 Software Packs 下面应该能看到 X-CUBE-AI 的选项。点开它,如果能正常显示 AI 配置界面,那就说明装好了。
📌 重点: X-CUBE-AI 目前支持 TensorFlow Lite、Keras、ONNX、PyTorch 等主流框架。但要注意,不是所有算子都支持。比如某些自定义层,转换时会报错。我的经验是:先用官方支持的算子搭模型,等跑通了再优化。
2.4 Python环境准备——AI模型训练的基石
Python环境,说白了就是咱们训练AI模型的地方。虽然X-CUBE-AI能转换模型,但模型本身还得靠Python来训练。所以这一步不能省。
我的推荐配置:
- Python版本: 3.8 或 3.9。别追新,3.10以上有些库还不兼容。
- 包管理器: Anaconda 或 Miniconda。我习惯用Miniconda,轻量,够用。
- 核心库: TensorFlow 2.x 或 PyTorch 1.x,加上 numpy、matplotlib、scikit-learn
安装步骤:
- 下载Miniconda安装包,一路默认安装。
- 打开Anaconda Prompt(Windows)或终端(Linux/Mac)。
- 创建一个新环境:
conda create -n stm32_ai python=3.9 - 激活环境:
conda activate stm32_ai - 安装TensorFlow:
pip install tensorflow==2.10(注意,2.10是最后一个支持GPU的版本,如果你有NVIDIA显卡,建议用这个)
pip install tensorflow,结果装了个2.15版本,跟X-CUBE-AI不兼容,转换模型时报了一堆错。后来查文档才发现,X-CUBE-AI 7.0版本最高只支持到TensorFlow 2.12。所以,装之前一定先去ST官网查一下兼容性列表。
验证环境:
装完之后,在终端里输入 python 进入交互模式,然后输入:
import tensorflow as tf
print(tf.__version__)
如果能正常打印出版本号,那就说明环境搭好了。如果报错,多半是依赖没装全,用 pip list 检查一下缺什么。
2.5 整体环境验证——跑通第一个AI示例
所有工具都装好了,咱们来验证一下整个链路通不通。我建议你跑一下X-CUBE-AI自带的示例工程。
操作步骤:
- 打开CubeMX,新建一个工程,选你手头的开发板型号(比如NUCLEO-F767ZI)。
- 在
Software Packs里启用X-CUBE-AI,选择AI功能。 - 导入一个预训练模型。X-CUBE-AI自带了一些示例模型,比如
image_classification的mobilenet_v1。 - 配置好串口,用于输出推理结果。
- 生成代码,用CubeIDE打开,编译下载。
我第一次跑通这个示例时,看到开发板串口输出 Class: coffee mug, Confidence: 0.95,说实话,挺激动的。一个单片机,居然能识别出咖啡杯。这就是AI集成的魅力。
Project Manager → Linker Settings,把堆栈空间改大一点。我一般设成 0x1000 起步。
好了,环境搭建就到这里。下一章咱们开始讲怎么用Python训练一个简单的模型,然后把它部署到STM32上。到时候你会发现,前面这些准备工作,都是值得的。