2. STM32Cube.AI 开发环境搭建:从零到验证
搭建开发环境这事儿,说难不难,说简单吧,我第一次搞的时候也踩过坑。你想想看,STM32CubeMX、X-CUBE-AI、还有编译器,这三样东西要是版本对不上,折腾半天都跑不起来。这一章我就带你一步步搭好环境,顺便分享一些我实战中积累的小经验。
核心要点: 环境搭建的关键在于版本匹配。STM32CubeMX、X-CUBE-AI 扩展包、以及你的工具链(GCC/IAR/Keil)必须相互兼容,否则后续的模型部署会出各种奇怪的问题。
2.1 安装 STM32CubeMX:图形化配置的起点
STM32CubeMX 是 ST 官方提供的图形化配置工具,说白了,它就是帮你生成初始化代码的。我个人习惯先装这个,因为后面所有的扩展包都是基于它来加载的。
- 下载安装包: 去 ST 官网搜 "STM32CubeMX",下载最新版本。注意区分 Windows、Linux、macOS 版本。
- 安装过程: 一路 Next 就行,没什么特别需要配置的。安装路径建议不要有中文和空格,避免一些莫名其妙的路径问题。
- 首次启动: 启动后它会检查更新,建议让它检查完,确保是最新版本。我记得有一次我偷懒没更新,结果后面装 X-CUBE-AI 时提示版本不兼容,又回头重装了一遍。
小技巧: 安装完成后,可以在 Help → Manage embedded software packages 里预先下载一些你常用的 MCU 支持包,比如 STM32F4、STM32L4 系列,这样后面新建项目时就不用再等了。
2.2 安装 X-CUBE-AI 扩展包:让 MCU 学会推理
X-CUBE-AI 是 ST 的 AI 扩展包,它负责把训练好的神经网络模型转换成能在 STM32 上跑的代码。没有它,你的模型就是个「花瓶」——好看但跑不起来。
安装方式有两种,我推荐第一种:
- 方式一(推荐): 在 STM32CubeMX 里,点击 Help → Manage embedded software packages,在 Packs 标签页里搜索 "X-CUBE-AI",勾选并安装。这种方式会自动匹配你当前 CubeMX 的版本,省心。
- 方式二: 去 ST 官网下载 X-CUBE-AI 的独立安装包,手动解压到 CubeMX 的扩展目录。这种方式适合离线环境,但版本匹配需要自己留意。
注意: X-CUBE-AI 的版本和 STM32CubeMX 的版本有对应关系。比如 X-CUBE-AI 7.2.0 要求 CubeMX 6.8.0 以上。安装前最好看一眼 Release Notes,不然装完发现不兼容,白忙活一场。
2.3 配置工具链:GCC / IAR / Keil 三选一
工具链就是编译器,负责把 CubeMX 生成的 C 代码编译成机器码。我三种都用过,这里说说我的感受:
| 工具链 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| GCC (STM32CubeIDE) | 免费、开源、跨平台 | 调试功能相对弱一些 | 个人学习、预算有限的项目 |
| IAR Embedded Workbench | 编译优化好、代码密度高 | 收费、界面老旧 | 对代码大小有严格要求的量产项目 |
| Keil MDK | 生态成熟、调试器好用 | 收费、License 管理麻烦 | 工业控制、传统嵌入式项目 |
我个人建议,如果你是刚开始接触 STM32Cube.AI,直接用 STM32CubeIDE 就好。它集成了 GCC 工具链,和 CubeMX 无缝衔接,省去很多配置的麻烦。我在项目中遇到过用 IAR 编译出来的模型推理速度比 GCC 快 10% 的情况,但那是在后期优化阶段才需要考虑的事。
配置步骤(以 STM32CubeIDE 为例):
- 安装 STM32CubeIDE(它自带 GCC 工具链)。
- 在 CubeMX 的 Project Manager 页面,Toolchain / IDE 选择 "STM32CubeIDE"。
- 点击 "Generate Code",CubeMX 会自动生成一个完整的 STM32CubeIDE 工程。
2.4 验证环境:跑通第一个 AI 示例
环境搭没搭好,跑个例子就知道了。X-CUBE-AI 安装包里自带了一些示例工程,我们拿一个最简单的来验证。
我曾经遇到过一种情况:所有软件都装好了,但编译就是报错,最后发现是环境变量没配好。所以验证这一步千万别跳过。
验证步骤:
- 打开 STM32CubeMX,新建一个项目,选择你手头有的开发板(比如 NUCLEO-F746ZG)。
- 在 Pinout & Configuration 页面,找到 Software Packs → Select Components,勾选 X-CUBE-AI。
- 在 X-CUBE-AI 的配置页面,选择 "Add network",导入一个预训练好的模型(X-CUBE-AI 自带了一些 .h5 或 .tflite 示例模型)。
- 配置好串口(用于打印推理结果),生成代码。
- 用 STM32CubeIDE 打开生成的工程,编译、下载、运行。
- 打开串口助手,如果能看到模型推理输出的结果(比如分类的类别和置信度),恭喜你,环境搭建成功!
避坑指南: 如果编译时出现 "undefined reference to `ai_*'" 之类的错误,多半是 X-CUBE-AI 的库没有正确链接。检查一下工程设置里的 Include Paths 和 Libraries 是否包含了 X-CUBE-AI 的路径。
2.5 环境搭建知识体系
下面这张图帮你理清整个环境搭建的脉络,从软件安装到最终验证,每一步都有对应的关键点。
嗯,到这里,你的 STM32Cube.AI 开发环境就搭好了。记住,环境搭建是基础,基础不牢,地动山摇。后面我们就要开始真正地导入模型、做优化了,那才是重头戏。