第二章 环境搭建(上):安装STM32CubeMX、X-CUBE-AI扩展包、以及必要的Python环境(TensorFlow/Keras)

好,咱们正式开始动手了。

这一章,说白了就是“搭灶台”。你模型训练得再好,AI算法再牛,要是环境没搭对,代码生成不了,一切都是白搭。我见过太多新手,卡在安装这一步,一卡就是半天,最后跑来问我:“为什么我的STM32CubeMX里找不到AI选项?”——嗯,多半是扩展包没装对。

所以这一章,我带你一步步把环境捋顺。咱们分三块走:STM32CubeMX、X-CUBE-AI扩展包、还有Python的TensorFlow/Keras环境。别急,一个一个来。

2.1 安装STM32CubeMX

STM32CubeMX是ST官方出品的图形化配置工具。你可以把它理解成一个“图形化代码生成器”。你点点鼠标,选好芯片、配好外设,它就能帮你生成初始化代码。咱们做AI部署,也得靠它来生成最终的工程。

我的习惯:我一般会下载最新版本的CubeMX。虽然ST也提供历史版本,但新版本对X-CUBE-AI的支持更友好,bug也更少。别用太老的版本,否则你可能会遇到一些莫名其妙的兼容性问题。

安装步骤很简单:

  1. 去ST官网搜索“STM32CubeMX”,下载安装包。
  2. 双击运行,一路“Next”。注意安装路径不要有中文。
  3. 安装完成后,打开软件,它会自动检查更新。建议更新到最新。

嗯,这里有个小坑:有些电脑的杀毒软件会拦截CubeMX的安装进程。如果遇到安装失败,先关掉杀毒软件试试。我曾经在一台公司电脑上装了三次都没成功,最后发现是安全策略给锁了。

2.2 安装X-CUBE-AI扩展包

X-CUBE-AI,这才是咱们这节课的主角。它是ST专门用来把训练好的神经网络模型,转换成可以在STM32上运行的C代码的工具。没有它,你的模型就是个“哑巴”。

安装方式有两种,我分别说一下:

方式一:在CubeMX内在线安装(推荐)

  1. 打开STM32CubeMX,点击菜单栏的 Help → Manage embedded software packages
  2. 在弹出的窗口中,找到 X-CUBE-AI,勾选你需要的版本。
  3. 点击 Install Now,等待下载完成。

这种方式最省心。但有个前提:你的网络要能访问ST的服务器。如果你在公司内网,或者网络环境不太好,可能会下载失败。我遇到过好几次,下载到一半卡住了,进度条一动不动。这时候别傻等,直接取消,换第二种方式。

方式二:手动下载安装包

  1. 去ST官网搜索“X-CUBE-AI”,找到下载页面。
  2. 下载对应的压缩包(通常是 .zip 格式)。
  3. 在CubeMX中,点击 Help → Manage embedded software packages,然后点击左下角的 From Local 按钮。
  4. 选择你刚才下载的压缩包,导入即可。
注意:X-CUBE-AI的版本要和CubeMX匹配。比如,X-CUBE-AI 7.0.0 需要 CubeMX 6.4.0 以上版本。如果你用的是老版本CubeMX,可能装不上新版的扩展包。我的建议是:都装最新的,省心。

2.3 安装Python环境与TensorFlow/Keras

好了,ST那边的工具搞定了。接下来是咱们的“老本行”——Python环境。你训练模型总得有个地方跑吧?

我个人强烈推荐使用 Anaconda 来管理Python环境。为什么?因为你可以为每个项目创建独立的虚拟环境,互不干扰。你想想看,你同时做两个项目,一个用TensorFlow 2.4,一个用TensorFlow 2.10,如果装在一个环境里,迟早要打架。

2.3.1 安装Anaconda

  1. 去Anaconda官网下载安装包(选择Python 3.x版本)。
  2. 安装时,记得勾选 Add Anaconda to my PATH environment variable。这一步很多人会忽略,导致后面在命令行里找不到conda命令。
  3. 安装完成后,打开命令行(CMD或PowerShell),输入 conda --version,如果能显示版本号,说明安装成功。

2.3.2 创建虚拟环境并安装TensorFlow

接下来,咱们创建一个专门用于AI模型训练的虚拟环境。我习惯给它起名叫 stm32_ai,你也可以随便起。

# 创建虚拟环境,指定Python版本为3.8
conda create -n stm32_ai python=3.8

# 激活环境
conda activate stm32_ai

# 安装TensorFlow(包含Keras)
pip install tensorflow==2.10.0
避坑指南:我曾经在安装TensorFlow时,直接用了 pip install tensorflow,结果装了个2.15版本。后来发现X-CUBE-AI对TensorFlow 2.10以上的版本支持不太好,模型转换时老是报错。所以,我建议你安装2.10.0版本,这是目前最稳定的搭配。

安装完成后,可以验证一下:

python -c "import tensorflow as tf; print(tf.__version__)"

如果输出了 2.10.0,恭喜你,环境搭好了。

2.3.3 安装其他依赖库

除了TensorFlow,咱们可能还需要一些辅助库。比如处理数据的NumPy、画图的Matplotlib。你可以一次性装好:

pip install numpy matplotlib scikit-learn

嗯,这些不是必须的,但后面做模型训练和验证时会用到。提前装好,省得到时候手忙脚乱。

2.4 验证环境是否打通

环境都装好了,怎么知道它们能不能协同工作?我教你一个简单的验证方法。

  1. 打开STM32CubeMX,新建一个工程,随便选一个STM32芯片(比如STM32F407VG)。
  2. Pinout & Configuration 选项卡中,找到 Software Packs,点击 Select Components
  3. 如果X-CUBE-AI安装成功,你应该能在列表中看到 X-CUBE-AI 的选项。勾选它。
  4. 点击 OK,你会看到左侧多了一个 AI 的配置项。

看到这个 AI 配置项,就说明你的环境已经打通了。接下来,咱们就可以开始导入模型、生成代码了。

总结一下这一章的核心:

  • STM32CubeMX是基础,必须装最新版。
  • X-CUBE-AI是核心,安装方式选在线或本地都行。
  • Python环境用Anaconda管理,TensorFlow建议用2.10.0版本。
  • 装完后,在CubeMX里看到AI配置项,就算成功了。

好,环境搭建的上半部分就到这里。下一章,咱们会讲怎么用X-CUBE-AI导入一个实际的模型,并生成可以在STM32上跑的代码。到时候,你会真正感受到“从模型到代码”的奇妙过程。