3. 开发环境搭建:安装STM32CubeIDE、配置ESP-IDF环境、搭建TensorFlow Lite Micro工具链、串口驱动安装与验证

好,咱们进入第三章。这一章说白了就是「磨刀」——把开发环境搭好。我见过太多初学者,代码写了一半发现环境没配好,折腾半天心态崩了。所以咱们一步到位,把四个核心环境搞定。

3.1 安装STM32CubeIDE

STM32CubeIDE是ST官方的一体化开发工具。它集成了编辑器、编译器、调试器,甚至还有图形化配置工具。我个人习惯用它来做MCU端的开发,因为省事。

安装步骤:

  1. 去ST官网下载STM32CubeIDE安装包(注意选对操作系统版本)
  2. 双击安装,一路默认即可。但有个坑——安装路径不要带中文和空格
  3. 安装过程中会提示安装驱动,选「是」
  4. 安装完成后,首次启动会提示创建工作空间(workspace),建议单独建一个文件夹

注意:我曾经遇到过安装后无法启动的问题,后来发现是Java环境冲突。如果你电脑上装了多个JDK,建议先卸载旧的,或者设置环境变量指向CubeIDE自带的JRE。

安装完成后,你可以新建一个STM32项目试试。选一个你手头有的开发板型号,比如STM32F103C8T6。嗯,这里要注意,第一次编译会下载一些依赖包,网速慢的话可能要等一会儿。

3.2 配置ESP-IDF环境

ESP-IDF是乐鑫官方的物联网开发框架。说实话,它的环境配置比STM32要复杂一些,因为涉及Python、CMake、Git等多个工具链。我建议你按以下步骤来:

我的经验:ESP-IDF的安装方式有两种——离线安装器和命令行安装。我个人推荐离线安装器,因为它会自动帮你装好Python和Git,省去很多麻烦。

具体步骤:

  • 下载ESP-IDF离线安装器(v4.4或v5.0版本都可以)
  • 双击安装,选择安装路径(同样不要有中文)
  • 安装完成后,打开ESP-IDF Command Prompt(开始菜单里能找到)
  • 输入 idf.py --version 验证安装是否成功

为什么会这样?因为ESP-IDF依赖很多Python包,如果手动装很容易出现版本冲突。离线安装器把这些都打包好了,你想想看,是不是省心很多?

验证环境:

idf.py --version
# 输出类似:ESP-IDF v4.4.2
python --version
# 输出类似:Python 3.8.7

如果你用的是ESP32-C3或ESP32-S3,记得在项目配置里选对芯片型号。我刚开始用的时候忘了改,编译出来的固件烧进去直接跑不起来……

3.3 搭建TensorFlow Lite Micro工具链

TensorFlow Lite Micro(简称TFLM)是谷歌推出的轻量级推理引擎。它可以在MCU上跑机器学习模型。说白了,就是让单片机学会「思考」。

搭建步骤:

  1. 克隆TFLM仓库:git clone https://github.com/tensorflow/tflite-micro.git
  2. 安装Python依赖:pip install tensorflow numpy pillow
  3. 编译测试用例:进入tflite-micro目录,运行 make -f tensorflow/lite/micro/tools/make/Makefile test

避坑指南:我曾经在Windows上编译TFLM时卡了很久,因为Makefile默认用的是Linux路径。解决方案有两个:一是用WSL(Windows Subsystem for Linux),二是用CMake替代Make。我个人推荐WSL,因为更接近实际部署环境。

编译成功后,你会看到类似这样的输出:

Testing hello_world_test
PASS
Testing micro_speech_test
PASS
...

嗯,看到PASS就说明环境搭好了。这里要注意,TFLM的编译时间比较长,第一次可能要十几分钟。你可以趁这个时间去泡杯咖啡。

3.4 串口驱动安装与验证

串口是嵌入式开发的生命线。没有它,你连板子输出的调试信息都看不到。我见过有人折腾了半天代码,结果发现是串口驱动没装好……

驱动安装:

  • CH340驱动:大多数国产开发板都用这个芯片,比如ESP32、STM32最小系统板
  • CP210x驱动:一些高端开发板用这个,比如某些官方评估板
  • FT232驱动:老牌芯片,稳定但贵
芯片型号 常见设备 驱动下载
CH340 ESP32开发板、STM32最小系统板 官网或驱动精灵
CP2102 某些官方评估板 Silicon Labs官网
FT232 FTDI调试器 FTDI官网

验证方法:

  1. 插上开发板,打开设备管理器(Windows)
  2. 在「端口(COM和LPT)」下应该能看到新设备
  3. 如果显示黄色感叹号,说明驱动没装好
  4. 用串口助手(比如Putty、sscom)打开对应COM口,波特率设115200
  5. 给板子重新上电,应该能看到启动信息

我记得有一次,客户说他的板子没输出。我远程一看,原来是USB线只能充电不能传数据。你想想看,这种低级错误是不是很坑?所以建议你用质量好一点的USB线。

3.5 环境验证综合测试

四个环境都搭好后,我们来做个综合测试。写一个简单的LED闪烁程序,分别用STM32CubeIDE和ESP-IDF编译,然后通过串口输出调试信息。

测试流程:

  1. STM32CubeIDE:新建项目,配置GPIO,写一个500ms翻转的LED程序
  2. ESP-IDF:用 idf.py create-project 新建项目,添加串口打印代码
  3. 分别编译、烧录、运行
  4. 观察串口输出是否正常

如果一切顺利,你会看到串口每隔500ms打印一次「Hello from STM32」或「Hello from ESP32」。嗯,看到这个输出,就说明你的开发环境彻底搭好了。

最后提醒:环境搭建是嵌入式开发的第一步,也是最容易出问题的一步。我建议你把每个步骤的截图保存下来,方便以后复盘。另外,不同版本的软件可能会有兼容性问题,建议使用我上面提到的版本号。

好了,环境搭好了,下一章咱们就开始写真正的AI代码了。到时候你会觉得,现在这些折腾都是值得的。