1 工程项目的目录结构
TouchGFX 项目由 STM32CubeMX 生成后,核心目录集中在项目根目录下的TouchGFX文件夹,同时包含系统默认的核心、驱动等目录,

整体结构如下
项目根目录
│ .mxproject(STM32CubeMX项目配置文件)
│ 项目名.ioc(STM32CubeMX项目文件)
├───Core(核心代码目录:main.c和启动代码)
├───Drivers(驱动目录:CMSIS、MCU系列驱动、BSP板级支持包)
├───STM32CubeIDE(IDE项目目录,依选择的IDE不同命名)
├───Middlewares(中间件目录:TouchGFX库/头文件、第三方软件如FreeRTOS)
└───TouchGFX(TouchGFX核心目录)
│ ApplicationTemplate.touchgfx.part(TouchGFX Designer项目关联文件)
├───App(初始化代码目录:app_touchgfx.c/h)
└───target(目标配置目录)
│ 可修改文件(STM32TouchController.cpp/h、TouchGFXGPIO.cpp、TouchGFXHAL.cpp/h)
└───generated(只读生成文件目录:OSWrappers.cpp、TouchGFXConfiguration.cpp/h等)
TouchGFX/App :提供 TouchGFX 与 STM32CubeMX 的接口,app_touchgfx.c包含MX_TouchGFX_Init(void)(初始化 TouchGFX)和MX_TouchGFX_Process(void)(启动 TouchGFX 主循环)两个核心函数。
TouchGFX/target :用户可修改的核心配置目录,用于扩展 HAL 行为或覆盖 STM32CubeMX 的默认配置,如TouchGFXHAL.cpp定义TouchGFXHAL类,继承自只读的TouchGFXGeneratedHAL。
TouchGFX/target/generated :STM32CubeMX 自动生成的只读文件目录,配置变更时会自动覆盖,包含 HAL 子类实现、OS 同步函数、TouchGFX 构造配置代码。
ApplicationTemplate.touchgfx.part:存储屏幕尺寸、像素格式等项目信息,用 TouchGFX Designer 打开可创建完整 UI 项目,且会同步 IDE 项目文件。
2 协同设计的方法
项目生成配置(STM32CubeMX 端)
- 打开 STM32CubeMX 的 “Project Manager”,选择项目设置:
- 应用结构(Application structure)设为 “Advanced”,确保目录层级清晰。
- 取消勾选 “Generate under root”(仅 STM32CubeIDE 需设置),避免根目录文件混乱。
- 工具链 / IDE(Toolchain/IDE)选择 “STM32CubeIDE”,指定项目路径和最小堆 / 栈大小(默认 0x200/0x400)。
- 确认 TouchGFX Generator 已启用,配置 MCU 型号、固件包版本(如 STM32F429ZITx 搭配 STM32Cube FW_F4 V1.24.1),点击 “Generate Code” 生成项目。
UI 开发与项目同步(TouchGFX Designer 端)
- 用 TouchGFX Designer 打开生成的
ApplicationTemplate.touchgfx.part文件,创建 UI 界面(如之前的氛围灯控制面板)。
- 开发完成后,TouchGFX Designer 会自动将新增的生成文件同步到 STM32CubeIDE 项目中,无需手动添加文件引用。
硬件适配与调试(STM32CubeIDE 端)
- 用 STM32CubeIDE 打开生成的项目,在
TouchGFX/target目录下修改用户可编辑文件,实现硬件适配:
STM32TouchController.cpp:完善触摸控制器接口,适配实际触摸硬件。
TouchGFXHAL.cpp:重写 HAL 相关函数,优化显示驱动、中断处理等底层逻辑。
- 关联 TouchGFX 生成的 UI 代码,通过 STM32CubeIDE 编译项目,检查依赖项(如 Middlewares 中的 TouchGFX 库)是否正确引入。
- 连接开发板,配置调试参数(目标设备、调试接口),执行下载调试,实现 UI 与硬件的联动验证。
配置变更同步流程
当在 STM32CubeMX 中修改硬件配置(如引脚、时钟)后,重新点击 “Generate Code”:
- 系统会更新
TouchGFX/target/generated目录下的只读文件,同步新的配置参数。
- 打开 TouchGFX Designer,项目会自动识别配置变更,确保 UI 开发与硬件配置一致。
3 按照上面的方法,设计一个基本的UI

对应需要修改上述view的关键函数配置
下载到开发板

这个协同开发的过程还是有一些状况

代码生成,下载的时候总是出现这个情况。还是有没有调试通过的地方。
最终项目的演示效果如下 |