2. 开发环境搭建:STM32CubeMX安装与配置,STM32CubeIDE安装,X-CUBE-AI扩展包安装,Python与TensorFlow环境准备
说实话,很多做嵌入式AI的朋友,最后模型跑不起来,问题往往出在环境搭建这一步。不是工具版本不匹配,就是路径带中文,再不然就是Python库冲突。我刚开始搞STM32Cube AI那会儿,光装环境就折腾了两天。
这一章,咱们就把这些工具挨个捋一遍。你跟着我的步骤走,基本不会踩坑。
2.1 STM32CubeMX:项目生成的起点
STM32CubeMX是ST官方出的一款图形化配置工具。说白了,它就是帮你生成初始化代码的。你点点鼠标,选好芯片、配好时钟、设好外设,它就能给你生成一套完整的HAL库工程。
安装步骤:
- 去ST官网下载最新版STM32CubeMX(目前是6.x版本)。
- 运行安装包,选好安装路径。注意:路径不要带中文和空格!
- 安装完成后,首次启动会提示你更新固件包。建议把常用的F4、F7、H7系列都下载下来。
我的习惯:我会在D盘建一个
STM32Cube_Repository 文件夹,专门放固件包。这样重装系统后,直接把路径指过去就行,不用重新下载。
配置要点:
- 打开CubeMX,点击 Help → Manage embedded software packages,勾选你需要的系列。
- 在 Help → Updater Settings 里,把固件包路径设到刚才建的文件夹。
- 我建议把 自动检查更新 关掉。不然每次打开都弹窗,挺烦的。
2.2 STM32CubeIDE:一站式开发环境
STM32CubeIDE是ST基于Eclipse打造的免费IDE。它集成了编译器、调试器,还直接跟CubeMX打通。你从CubeMX生成的项目,可以直接在IDE里打开编译。
安装注意事项:
- 同样,安装路径不要有中文。
- 安装时会让你选 Workspace 路径。我习惯在项目根目录下建一个
workspace文件夹,每个项目单独一个workspace。 - 安装完成后,建议先装一下 ST-Link驱动。不然连不上调试器。
我曾经踩过的坑:有次我装完IDE,发现编译报错说找不到头文件。查了半天,原来是CubeMX生成的工程路径太深,Windows路径长度超限了。后来我把项目直接放在D盘根目录下,问题就解决了。
2.3 X-CUBE-AI扩展包:连接AI与MCU的桥梁
X-CUBE-AI是ST官方出的AI扩展包。它的作用,就是把训练好的神经网络模型,转换成能在STM32上跑的C代码。
安装方式有两种:
| 方式 | 操作步骤 | 适用场景 |
|---|---|---|
| 通过CubeMX安装 | 在CubeMX的 Software Packs 里搜索X-CUBE-AI,勾选安装 | 最推荐,版本匹配有保障 |
| 手动下载安装 | 从ST官网下载压缩包,解压到指定目录 | 网络不好时备用 |
版本选择建议:
- 目前X-CUBE-AI最新是8.x版本,支持TensorFlow Lite、ONNX、Keras等多种格式。
- 如果你用的是老款芯片(比如STM32F4),建议用7.x版本,更稳定。
- 新项目直接上8.x,支持更多算子优化。
核心逻辑:X-CUBE-AI本质上是一个模型编译器。它把你的模型解析、量化、优化,最后生成一组C函数。你只需要调用这些函数,就能在MCU上做推理。
2.4 Python与TensorFlow环境准备
这部分是AI模型训练的基础。你想想看,没有Python环境,你怎么训练模型?
Python环境搭建:
- 下载Python 3.8或3.9版本。不要用3.10以上版本,有些库还不兼容。
- 安装时勾选 Add Python to PATH。
- 打开命令行,输入
python --version验证安装成功。
TensorFlow安装:
# 建议用虚拟环境,避免库冲突
python -m venv tf_env
tf_env\Scripts\activate # Windows
source tf_env/bin/activate # Linux/Mac
# 安装TensorFlow
pip install tensorflow==2.10.0
# 验证安装
python -c "import tensorflow as tf; print(tf.__version__)"
我的经验:我习惯用
requirements.txt 管理依赖。每次项目开始前,先建一个虚拟环境,然后 pip install -r requirements.txt。这样换电脑时,环境能一秒复现。
其他必备库:
- numpy:数据处理必备
- matplotlib:画图看训练效果
- scikit-learn:数据预处理和评估
- onnx:模型格式转换(如果需要)
2.5 环境验证:跑通第一个AI示例
环境搭好了,怎么知道能不能用?我建议你跑一个简单的示例验证一下。
验证流程:
- 在CubeMX里新建一个项目,选好芯片(比如STM32F746G-DISCO)。
- 在 Software Packs 里勾选X-CUBE-AI。
- 配置好时钟和串口。
- 生成代码,在IDE里编译下载。
- 打开X-CUBE-AI的验证工具,导入一个简单的模型(比如手写数字识别)。
- 看输出结果是否正确。
注意:第一次验证时,可能会遇到 堆栈溢出 的问题。这是因为AI推理需要较大的栈空间。你需要在CubeMX里把 Heap Size 和 Stack Size 调大一些。我一般设成0x2000以上。
2.6 知识结构总览
下面这张图,把整个开发环境的关系理清楚了。你一看就明白。
你看,整个流程其实很清晰。从Python训练,到X-CUBE-AI转换,再到CubeMX生成工程,最后在IDE里编译调试。每一步都有对应的工具。