2. 开发环境搭建:STM32CubeMX安装、STM32CubeIDE安装、X-CUBE-AI扩展包安装、固件包管理
说实话,很多初学者一上来就急着写代码,结果卡在环境配置上大半天。我见过不少同事,明明板子都焊好了,结果因为工具链没装对,折腾了两天还没跑起来。这一章,咱们就把这些基础工作一次性搞定。
做AI部署,说白了就是三件事:配环境、配环境、还是配环境。工具链顺了,后面的事就水到渠成。
2.1 整体工具链概览
先看看我们要装哪些东西,它们之间是什么关系。我习惯画个图来理解,你也试试看:
这个流程很清晰:模型训练 → X-CUBE-AI转换 → CubeMX配置 → IDE编译。每一步都有专门的工具,各司其职。
2.2 STM32CubeMX 安装
CubeMX是STM32生态的入口。没有它,你连引脚怎么分配都不知道。我个人习惯先装这个,因为它还负责下载固件包。
2.2.1 下载与安装步骤
- 访问官网:打开 st.com,搜索 "STM32CubeMX"。
- 选择版本:我建议用最新的稳定版。别追beta版,踩过坑。
- 安装包:Windows下是 .exe,Linux下是 .setup 文件。
- 运行安装:一路默认路径就行。注意Java环境——CubeMX依赖Java Runtime。
java -version 能跑。
2.2.2 验证安装
启动后看到主界面,能新建工程,就算成了。第一次启动会提示安装固件包,先跳过,咱们后面统一管理。
2.3 STM32CubeIDE 安装
CubeIDE是ST官方的IDE,基于Eclipse。说实话,刚开始用Eclipse系的东西会有点不习惯,但用顺手了会发现调试功能确实强大。
2.3.1 下载与安装
- 官网下载:同样在 st.com,搜索 "STM32CubeIDE"。
- 版本选择:我建议和CubeMX保持同一大版本,避免兼容性问题。
- 安装过程:Windows下直接运行安装程序。它会自动检测是否已有CubeMX。
2.3.2 首次启动配置
第一次打开CubeIDE,会让你选工作空间(workspace)。我习惯单独建一个文件夹,比如 D:\STM32_Workspace。这样工程文件不会散得到处都是。
2.4 X-CUBE-AI 扩展包安装
这是咱们做AI部署的核心。X-CUBE-AI负责把训练好的模型转成STM32能跑的C代码。说白了,它就是一座桥,把Python世界和嵌入式世界连起来。
2.4.1 安装方式
有两种方式,我推荐第一种:
| 方式 | 操作 | 适用场景 |
|---|---|---|
| 通过CubeMX安装 | Help → Manage Embedded Software Packages → X-CUBE-AI | 推荐,自动匹配版本 |
| 手动下载 | 官网下载 .pack 文件,双击安装 | 离线环境或特定版本 |
我个人习惯用CubeMX装。你想想看,它自动处理依赖关系,省心。
2.4.2 版本选择
X-CUBE-AI的版本和CubeMX、固件包有对应关系。我整理了一个对照表:
| X-CUBE-AI 版本 | 支持的CubeMX版本 | 支持的STM32系列 | 备注 |
|---|---|---|---|
| v7.x | ≥6.0 | H7, F4, L4, G0, U5 | 支持TFLite量化 |
| v8.x | ≥6.5 | H7, F4, L4, G0, U5, N6 | 新增NPU支持 |
| v9.x(最新) | ≥6.8 | 全系列 | 性能优化+新算子 |
2.5 固件包管理
固件包(Firmware Package)是芯片的底层支持包。里面包含了HAL库、LL库、中间件等。没有它,你的代码连GPIO都点不亮。
2.5.1 下载固件包
在CubeMX里,通过 Help → Manage Embedded Software Packages 进入管理界面。选择你的芯片系列,比如 STM32F4,然后勾选需要的版本。
我记得有一次,项目用到STM32U5,结果固件包版本太老,X-CUBE-AI死活不认。后来升级到最新版就好了。所以我的建议是:用最新稳定版。
2.5.2 固件包结构
下载完成后,固件包会放在本地。Windows下默认路径是:
C:\Users\你的用户名\STM32Cube\Repository\STM32Cube_FW_F4_V1.27.0
里面主要目录:
- Drivers:HAL库、LL库、CMSIS
- Middlewares:ST官方中间件,比如USB、FATFS
- Projects:官方例程,很有参考价值
- Utilities:工具脚本和PC端软件
2.5.3 多版本管理
同一个系列可以装多个版本。CubeMX会自动识别。你可以在工程设置里指定用哪个版本。我一般会保留两个版本:一个稳定版(生产用),一个最新版(尝鲜用)。
2.6 环境验证:跑一个最小工程
装完所有东西后,我建议你立刻验证一下。别等到做项目才发现环境有问题。
- 打开CubeMX,新建工程,选你的板子型号。
- 配置一个GPIO输出,比如PC13(很多板子上的LED)。
- 在Pinout & Configuration里,找到X-CUBE-AI,勾选启用。
- 生成代码,用CubeIDE打开。
- 编译,下载到板子,看LED能不能闪。
如果LED亮了,恭喜你,环境搭建成功。如果没亮,别慌,检查一下:
- 驱动装了吗?ST-Link驱动。
- 板子供电正常吗?
- CubeMX生成的工程路径有没有中文?
好了,环境搭建就到这里。工具装好了,下一件事就是准备模型。不过那是后面章节的内容了。先把这些装好,跑通,咱们再往下走。