2、开发环境搭建:工欲善其事,必先利其器

说实话,做嵌入式 GUI 开发,最怕的不是代码写不出来,而是环境搭了半天,最后发现版本对不上。我刚开始接触 TouchGFX 时,就吃过这个亏——装了个最新版的 Designer,结果跟 CubeMX 不兼容,折腾了一下午。

这一章,咱们就把开发环境一次性捋顺。你跟着我的步骤来,基本不会踩坑。

2.1 整体架构:你需要哪几样东西?

先看一张图,把整个工具链的关系搞清楚。说白了,TouchGFX 开发环境由四个部分组成:

TouchGFX 开发环境工具链 TouchGFX Designer UI 界面设计 & 代码生成 STM32CubeMX MCU 配置 & 中间件集成 编译器 IAR / Keil / GCC 硬件平台 STM32 开发板 + 屏幕 工作流程 Designer 设计 UI → CubeMX 配置引脚/时钟/外设 → 编译器编译 → 下载到硬件 四个环节缺一不可,版本必须匹配

嗯,这张图基本把关系说清楚了。从上到下,先设计 UI,再配 MCU,最后编译下载到板子。每一步都有对应的工具。

2.2 TouchGFX Designer 安装

这是咱们做 UI 的主战场。我个人习惯用最新稳定版,但别追新——有时候最新版刚出,插件还没跟上。

2.2.1 下载与安装步骤

  1. 去官网下载:打开 ST 官网,搜索 "TouchGFX Designer",找到下载页面。注意区分 Windows 和 Linux 版本。
  2. 运行安装包:双击 .exe 文件,一路 Next。安装路径建议用默认的,别放中文目录。
  3. 启动验证:安装完后打开,能看到欢迎界面就说明成了。
小技巧: 我建议你同时保留两个版本——一个稳定版做项目,一个最新版尝鲜。万一最新版有 bug,还能切回去。

2.2.2 版本选择建议

版本类型 适用场景 风险
最新稳定版(如 4.22.x) 新项目开发 低,经过充分测试
历史版本(如 4.18.x) 维护老项目 低,但功能少
Beta 版 尝鲜、学习 高,可能有兼容问题

我曾经在项目中期升级了 Designer,结果生成的代码跟 CubeMX 配置对不上,改了一整天。所以,项目进行中千万别随便升级。

2.3 STM32CubeMX 配置

CubeMX 的作用,说白了就是给 MCU 做「初始化配置」——时钟跑多快、引脚怎么分配、用哪些外设,都在这里搞定。

2.3.1 安装 CubeMX

同样去 ST 官网下载。安装时注意:

  • 需要 Java 运行环境(JRE),如果电脑没有,安装包会提示你装。
  • 安装路径也别有中文。
  • 装完后打开,会提示更新固件包。建议把你要用的 STM32 系列包都下载下来。

2.3.2 与 TouchGFX 的联动配置

这里有个关键点:CubeMX 需要安装 TouchGFX 插件,才能识别 Designer 生成的项目。

  1. 在 CubeMX 里,点击 Help → Manage Embedded Software Packages。
  2. 找到 X-CUBE-TOUCHGFX,勾选并安装。
  3. 安装完后,新建项目时就能在 "Software Packs" 里看到 TouchGFX 的选项了。
注意: CubeMX 和 Designer 的版本必须匹配。比如 Designer 4.22 对应 X-CUBE-TOUCHGFX 4.22.x。版本不对,生成的代码编译不过。

2.4 编译器准备

编译器就是把咱们的 C++ 代码变成机器码的工具。TouchGFX 支持三种主流编译器:

编译器 优点 缺点 适用场景
IAR Embedded Workbench 编译优化好,调试强 收费,许可证贵 商业项目、量产
Keil MDK 国内用户多,资料丰富 收费,代码大小有限制 中小项目、学习
GCC (STM32CubeIDE) 免费,开源,跨平台 调试体验稍弱 个人项目、预算有限

我个人推荐初学者用 STM32CubeIDE(基于 GCC),免费且跟 CubeMX 集成得好。你想想看,省下来的许可证费用,买几块开发板不香吗?

2.4.1 安装要点

  • IAR:安装时选择对应 MCU 架构(ARM Cortex-M 系列)。破解版不稳定,建议用正版试用。
  • Keil:安装后需要注册,有 32KB 代码限制的免费版。做 TouchGFX 项目基本不够用,得买 License。
  • GCC:直接装 STM32CubeIDE,它自带 GCC 工具链和调试器,省心。
避坑指南: 我曾经用 Keil 免费版编译一个稍复杂的 TouchGFX 项目,编译到一半提示代码超限。最后换成 CubeIDE 才搞定。所以,如果你打算认真学,直接上 CubeIDE 或 IAR。

2.5 硬件平台要求

TouchGFX 对硬件有一定要求,毕竟它要做动画、渲染,MCU 性能太弱跑不动。

2.5.1 最低配置

  • MCU:STM32F4 系列以上(F429、F746 等),带 TFT 控制器和 LTDC 外设。
  • Flash:至少 1MB,推荐 2MB+。
  • RAM:至少 256KB,推荐 512KB+。帧缓冲会吃掉大量 RAM。
  • 屏幕:支持 RGB 接口或 FMC 接口的 TFT 屏,分辨率建议 480x272 以上。

2.5.2 推荐开发板

开发板 MCU 屏幕 适合阶段
STM32F429I-DISC1 STM32F429ZIT6 2.4寸 240x320 入门学习
STM32F746G-DISCO STM32F746NGH6 4.3寸 480x272 进阶开发
STM32H750B-DK STM32H750IBK6 4.3寸 480x272 高性能项目

嗯,如果你只是学习,买个 STM32F429I-DISC1 就够了,淘宝上两百多块。我当年就是从这块板子入门的,跑个基础动画完全没问题。

注意: 别买不带屏幕的「核心板」,TouchGFX 需要屏幕做显示。除非你自己会接屏,否则直接买带屏的开发板省事。

2.6 环境验证:跑通第一个例程

所有工具装完后,咱们验证一下环境是否正常。我建议你从 Designer 自带的例程开始:

  1. 打开 TouchGFX Designer,点击 Examples。
  2. 选一个简单的例程,比如 "Button" 或 "Slide"。
  3. 点击 Generate Code,生成工程。
  4. 用 CubeMX 打开生成的 .ioc 文件,确认配置无误。
  5. 用编译器打开工程,编译并下载到开发板。

如果屏幕上能显示按钮或滑动效果,恭喜你,环境搭建成功了!

常见问题排查:

  • 编译报错:检查 CubeMX 和 Designer 版本是否匹配。
  • 下载后屏幕不亮:检查屏幕排线是否插好,LTDC 引脚配置是否正确。
  • 触摸没反应:检查触摸驱动是否使能,I2C/SPI 引脚是否配置。