你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【toughGFX】融合cubeIDE和touchGFX的开发方法

[复制链接]
北方 发布时间:2025-10-31 16:16

1 工程项目的目录结构

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

1.JPG

整体结构如下

项目根目录
│   .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 端)

  1. 打开 STM32CubeMX 的 “Project Manager”,选择项目设置:
    • 应用结构(Application structure)设为 “Advanced”,确保目录层级清晰。
    • 取消勾选 “Generate under root”(仅 STM32CubeIDE 需设置),避免根目录文件混乱。
    • 工具链 / IDE(Toolchain/IDE)选择 “STM32CubeIDE”,指定项目路径和最小堆 / 栈大小(默认 0x200/0x400)。
  2. 确认 TouchGFX Generator 已启用,配置 MCU 型号、固件包版本(如 STM32F429ZITx 搭配 STM32Cube FW_F4 V1.24.1),点击 “Generate Code” 生成项目。

UI 开发与项目同步(TouchGFX Designer 端)

  1. 用 TouchGFX Designer 打开生成的ApplicationTemplate.touchgfx.part文件,创建 UI 界面(如之前的氛围灯控制面板)。
  2. 开发完成后,TouchGFX Designer 会自动将新增的生成文件同步到 STM32CubeIDE 项目中,无需手动添加文件引用。

硬件适配与调试(STM32CubeIDE 端)

  1. 用 STM32CubeIDE 打开生成的项目,在TouchGFX/target目录下修改用户可编辑文件,实现硬件适配:
    • STM32TouchController.cpp:完善触摸控制器接口,适配实际触摸硬件。
    • TouchGFXHAL.cpp:重写 HAL 相关函数,优化显示驱动、中断处理等底层逻辑。
  2. 关联 TouchGFX 生成的 UI 代码,通过 STM32CubeIDE 编译项目,检查依赖项(如 Middlewares 中的 TouchGFX 库)是否正确引入。
  3. 连接开发板,配置调试参数(目标设备、调试接口),执行下载调试,实现 UI 与硬件的联动验证。

配置变更同步流程

当在 STM32CubeMX 中修改硬件配置(如引脚、时钟)后,重新点击 “Generate Code”:

  • 系统会更新TouchGFX/target/generated目录下的只读文件,同步新的配置参数。
  • 打开 TouchGFX Designer,项目会自动识别配置变更,确保 UI 开发与硬件配置一致。

3 按照上面的方法,设计一个基本的UI

2.JPG

对应需要修改上述view的关键函数配置

下载到开发板

1833028567.jpg

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

ffreestanding.JPG

代码生成,下载的时候总是出现这个情况。还是有没有调试通过的地方。

最终项目的演示效果如下gfx01.gif

收藏 评论0 发布时间:2025-10-31 16:16

举报

0个回答

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版