1. 环境准备与工具安装
第一次接触TouchGFX移植的朋友可能会被各种软件包和配置搞得晕头转向。我刚开始做F407的TouchGFX移植时,光是环境搭建就折腾了两天。现在把这些经验总结出来,让你少走弯路。
首先需要准备的是STM32CubeMX,这是ST官方提供的配置工具。建议安装最新版本,我实测6.6.1版本对F4系列支持最好。安装时记得勾选F4软件包,这个包含了F407的所有外设驱动。很多人漏装这个,后面生成代码时会报各种奇怪错误。
TouchGFX Designer是另一个必备工具。这里有个坑要注意:不同版本的TouchGFX对硬件要求差异很大。我建议用4.18版本,这个版本对SPI屏的支持比较完善。安装完成后,记得在CubeMX的软件包管理器里也安装对应的TouchGFX软件包,否则后面工程配置会找不到相关选项。
开发环境我推荐使用Keil MDK,毕竟正点原子的例程基本都是基于Keil的。如果你习惯用IAR,需要特别注意链接脚本的修改,这个我们后面会讲到。工具链准备好后,建议先跑个LED闪烁例程测试下基础环境是否正常,这个看似简单的步骤能避免很多低级错误。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 工程配置详解
2.1 基础外设配置
新建工程时芯片型号要选对,正点原子F407开发板用的是STM32F407ZGT6。SYS里一定要选Serial Wire,这是ST-Link调试必需的。RCC配置中,外部晶振要设为8MHz,这个值直接影响后面TouchGFX的时钟计算。
CRC模块必须启用!很多人在移植TouchGFX时遇到莫名其妙的花屏问题,八成是因为没开CRC。TouchGFX依赖CRC做数据校验,这个在官方文档里其实写得很隐蔽。我当初就是漏了这个配置,调试了整整一天。
2.2 SPI接口配置
SPI屏的配置是重中之重。首先确认你的屏幕型号,正点原子常用的SPI屏有ILI9341和ST7789两种。以ILI9341为例,SPI要配置为全双工主模式,时钟极性低电平,相位第一个边沿,8位数据格式。
这里有个关键参数:SPI时钟分频。我建议先用PCLK2的8分频,也就是21MHz/8=2.625MHz。如果屏幕出现雪花噪点,可以适当降低频率。但要注意,太低的SPI时钟会导致刷新率不足,界面会有明显卡顿。
