野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 565|回复: 1

分享STM32CubeMX移植touchGFX

[复制链接]
发表于 2025-2-13 19:54:37 | 显示全部楼层 |阅读模式
本帖最后由 lingmao320 于 2025-2-13 20:08 编辑

注:本移植说明是本人在学习熊家余的教程做的笔记。 需要更详细的讲解请看元视频教程。
1硬件
  主板:野火STM32F429-V2
  开发板:野火挑战者(非必要)
  屏:野火7RGB电容触摸屏800*480
  下载器:野火fire-DAPHigh
2 环境
  操作系统:win11家庭中文版
  STM32CubeMX: V6.13.0
固件包版本:STM32CubeF4 Firmware Package V1.28.1           
  TouchGFX : V4.24.2
  Keil : V5.23

3 STM32CubeMX流程
3.1 新建工程
  打开STM32CubeMX,点击“File-New Project”,搜索双击选择“STM32F429IGT6”新建工程
野火论坛202502132002205269..png 野火论坛202502132002344494..png 野火论坛202502132002486028..png

3.2 配置RCC
野火论坛202502132003025197..png

3.3配置SYS
野火论坛202502132003158372..png
可选其他定时器,我这里选TIM7

3.4配置DMA2D
野火论坛202502132003332958..png
我这里选择RGB565,野火的这款屏是支持RGB888的,选择RGB888后续引脚和LTDC配置做相应的更改就行,然后打开中断。
野火论坛202502132003482349..png

3.5配置LTDC
野火论坛202502132003562537..png
按这个改就行了,具体的数据可以找一个野火的例程查看或者自己都屏幕的手册修改。比如打卡\1-[野火STM32库开发实战指南》(标准库源码)【优先学习】\1-书籍配套例程-F429IG-V1V2\1-书籍配套例程-F429IG-V1V2_20240202\27-28-LTDC—液晶显示\F429_V2例程
野火论坛202502132004081187..png
对照修改即可。
然后配置层参数:
野火论坛202502132004181657..png
起始地址也在例程中去查:
野火论坛202502132004277274..png
然后打开中断:
野火论坛202502132004378605..png
中断优先级先不管,后续统一配置。
最后配置引脚:
野火论坛202502132004456160..png
引脚分配硬件来,这里查野火F429V2的原理图,一个一个引脚进行配置:
野火论坛202502132004545019..png

3.6配置FMC
GUI需要外部的SDRAM,配置FMC:
野火论坛202502132005058552..png
我这里使用SDRAM1控制器。查硬件原理图,SDRAMCSCLKPH6,PH7脚,所以选则SDCKE1+SDNE1
野火论坛202502132005181981..png
然后配置SDRAM1,主要是地址,延迟这些:
野火论坛202502132005324119..png
直接找例程中的数据,其中Write recovery time 按例程中的配置2软件自动改为4,不影响。
野火论坛202502132005464833..png

3.7配置CRC
打开即可:
野火论坛202502131953208857..png

3.8配置Free-RTOS
野火论坛202502131953551800..png
堆载改大点即可。然后配置一个任务:
野火论坛202502131954124818..png

3.9 配置touchGFX
野火论坛202502131954317474..png
开启双缓冲,开始地址0xD000000,结束地址0xD00BB800
野火论坛202502131955298835..png
如果touchGFX插件不能用,按如下方式打开:
野火论坛202502131955532172..png 野火论坛202502131955597044..png

3.10 配置NVIC
野火论坛202502131956142655..png

3.11 配置时钟
野火论坛202502131956277165..png

3.12 配置项目
给项目取名,选择编译器及版本,缓存改大点
野火论坛202502131956422612..png

3.13代码生成配置
野火论坛202502131957001893..png

3.14 生成代码
野火论坛202502131957134907..png

4 touchGFX流程
4.1 找到生成的代码目录,在TouchGFX目录下选择 野火论坛202502131957424518..png 双击运行。
4.2 随便放个背景和按钮测试一下就行
野火论坛202502131957491195..png

4.3 点击仿真 野火论坛202502131958039021..png !!必须点,会自动生成一些文件。

4.4 仿真结束就关闭touchGFX

5 keil代码配置
5.1 找到生成的代码目录,在MDK-ARM目录下选择keil项目双击运行。
5.2 拷贝一个野火例程的sdram的驱动文件夹放到项目中.,我这里是在Drivers目录下新建BSP文件夹同一存放。
野火论坛202502131958404514..png

5.3加入工程,并记得包含头文件

野火论坛202502131958566473..png 野火论坛202502131959041458..png
编译报错需要修改inculde的引用路径。 野火论坛202502131959243642..png

5.4 修改fmc.c
包含头文件,注释掉//SDRAM_HandleTypeDef hsdram1宏定义,因为在sdram.c中重复定义了,然后初始化SDRAM
野火论坛202502131959491487..png

5.4 修改TouchGFXHAL.hpp
野火论坛202502132000066419..png

5.5 编译下载验证
野火论坛202502132000219481..png

成功! 谢谢观看!生成的例程文件太大,就不上传了


野火论坛202502131955206378..png
野火论坛202502131955083434..png
回复

使用道具 举报

发表于 2025-2-14 08:56:29 | 显示全部楼层
谢谢分享
回复

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-4-2 19:31 , Processed in 0.327706 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表