2、开发环境搭建:工欲善其事,必先利其器
说实话,做嵌入式 GUI 开发,最怕的不是代码写不出来,而是环境搭了半天,最后发现版本对不上。我刚开始接触 TouchGFX 时,就吃过这个亏——装了个最新版的 Designer,结果跟 CubeMX 不兼容,折腾了一下午。
这一章,咱们就把开发环境一次性捋顺。你跟着我的步骤来,基本不会踩坑。
2.1 整体架构:你需要哪几样东西?
先看一张图,把整个工具链的关系搞清楚。说白了,TouchGFX 开发环境由四个部分组成:
嗯,这张图基本把关系说清楚了。从上到下,先设计 UI,再配 MCU,最后编译下载到板子。每一步都有对应的工具。
2.2 TouchGFX Designer 安装
这是咱们做 UI 的主战场。我个人习惯用最新稳定版,但别追新——有时候最新版刚出,插件还没跟上。
2.2.1 下载与安装步骤
- 去官网下载:打开 ST 官网,搜索 "TouchGFX Designer",找到下载页面。注意区分 Windows 和 Linux 版本。
- 运行安装包:双击 .exe 文件,一路 Next。安装路径建议用默认的,别放中文目录。
- 启动验证:安装完后打开,能看到欢迎界面就说明成了。
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 生成的项目。
- 在 CubeMX 里,点击 Help → Manage Embedded Software Packages。
- 找到 X-CUBE-TOUCHGFX,勾选并安装。
- 安装完后,新建项目时就能在 "Software Packs" 里看到 TouchGFX 的选项了。
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 工具链和调试器,省心。
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 就够了,淘宝上两百多块。我当年就是从这块板子入门的,跑个基础动画完全没问题。
2.6 环境验证:跑通第一个例程
所有工具装完后,咱们验证一下环境是否正常。我建议你从 Designer 自带的例程开始:
- 打开 TouchGFX Designer,点击 Examples。
- 选一个简单的例程,比如 "Button" 或 "Slide"。
- 点击 Generate Code,生成工程。
- 用 CubeMX 打开生成的 .ioc 文件,确认配置无误。
- 用编译器打开工程,编译并下载到开发板。
如果屏幕上能显示按钮或滑动效果,恭喜你,环境搭建成功了!
常见问题排查:
- 编译报错:检查 CubeMX 和 Designer 版本是否匹配。
- 下载后屏幕不亮:检查屏幕排线是否插好,LTDC 引脚配置是否正确。
- 触摸没反应:检查触摸驱动是否使能,I2C/SPI 引脚是否配置。