里飞网

 找回密码
 立即注册
查看: 5645|回复: 0
打印 上一主题 下一主题

基于CubeMX 5.6.1的TouchGFX移植教程

[复制链接]

45

主题

290

帖子

2492

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2492
跳转到指定楼层
楼主
发表于 2020-5-15 22:53:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 阿里兄 于 2020-5-15 22:54 编辑

准备工作:CubeMX升级到5.6.1

1、安装TouchGFX Designer 4.13,打开CubeMX,打开Help->Embedded Software Packages Manager->切换到STMicroelectronics,拉到X-CUBE-TOUCHGFX,勾上TouchGFX Generator并下载安装,安装一路下一步即可。


2、打开CUBEMX新建GFX工程,需要配置的有:打开CRC,勾选DEBUG方式,配置SDRAM,配置LTDC与DMA2D,注意GFX只支持RGB565或RGB888,配置LTDC的Layer层时需要注意,勾选LTDC与DMA2D的中断,加入FreeRTOS,其中GFX所在的任务内存需配置大一点,512Words以上,添加GFX,如找不到可按如下方式添加。


3、配置GFX,根据LTDC配置,如下:


4、生成工程,再新建GFX界面,找到Src文件下的ApplicationTemplate.touchgfx.part,并双击打开,新建一个界面打生成代码Cenerate Code:


5、修改工程,在freertos.c的GUI任务加入MX_TouchGFX_Process即可:


6、如果开启了DCache,需要修改4个地方,在STM32DMA.cpp有3处,在TouchGFXHAL.cpp有1处,找到SCB_CleanInvalidateDCache();这样的函数,全部取消屏蔽:


7、编译下载,即可看到画面了:


8、触摸移植,只要修改STM32TouchController.cpp文件,可以添加触屏初始化,添加读取坐标函数,成功附值x y并返回true即可,重新编译下载即可触摸了。


一些注意事件
1、新的CUBEMX生成的GFX工程基本移植好了,如编译不通过,注意是否添加头文件。
2、如下载后没有图像,注意是否开启CRC,SDRAM与LTDC配置是否正确,未添加GFX前是否可以正常显示,是否开启了背光,是否打开了LTDC与DMA2D的中断,GFX所在的任务内存是否改大了,如程序运行在QSPI时是否进行了中断偏移SCB->VTOR = QSPI_BASE,如开了DCache是否有启动SCB_CleanInvalidateDCache();
3、如添加触摸后无效,检测触摸驱动是否能读到坐标。
关于TouchGFX的定位,个人认为是定位高端的单片机,因为GFX的界面基本都是靠贴图片来设计的,最好是有LTDC和SDRAM加QSPI。[size=18.6667px]

基于CubeMX 5.6.1的TouchGFX移植教程.pdf (882.43 KB, 下载次数: 1423) [size=18.6667px]



回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|里飞网  

GMT+8, 2024-4-24 14:32 , Processed in 0.098361 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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