里飞网
标题:
基于CubeMX 5.6.1的TouchGFX移植教程
[打印本页]
作者:
阿里兄
时间:
2020-5-15 22:53
标题:
基于CubeMX 5.6.1的TouchGFX移植教程
本帖最后由 阿里兄 于 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并下载安装,安装一路下一步即可。
(, 下载次数: 1124)
上传
点击文件名下载附件
2、打开CUBEMX新建GFX工程,需要配置的有:打开CRC,勾选DEBUG方式,配置SDRAM,配置LTDC与DMA2D,注意GFX只支持RGB565或RGB888,配置LTDC的Layer层时需要注意,勾选LTDC与DMA2D的中断,加入FreeRTOS,其中GFX所在的任务内存需配置大一点,512Words以上,添加GFX,如找不到可按如下方式添加。
(, 下载次数: 1080)
上传
点击文件名下载附件
3、配置GFX,根据LTDC配置,如下:
(, 下载次数: 1116)
上传
点击文件名下载附件
4、生成工程,再新建GFX界面,找到Src文件下的ApplicationTemplate.touchgfx.part,并双击打开,新建一个界面打生成代码Cenerate Code:
(, 下载次数: 1115)
上传
点击文件名下载附件
5、修改工程,在freertos.c的GUI任务加入MX_TouchGFX_Process即可:
(, 下载次数: 1118)
上传
点击文件名下载附件
6、如果开启了DCache,需要修改4个地方,在STM32DMA.cpp有3处,在TouchGFXHAL.cpp有1处,找到SCB_CleanInvalidateDCache();这样的函数,全部取消屏蔽:
(, 下载次数: 1157)
上传
点击文件名下载附件
7、编译下载,即可看到画面了:
(, 下载次数: 1171)
上传
点击文件名下载附件
8、触摸移植,只要修改STM32TouchController.cpp文件,可以添加触屏初始化,添加读取坐标函数,成功附值x y并返回true即可,重新编译下载即可触摸了。
(, 下载次数: 1102)
上传
点击文件名下载附件
一些注意事件
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]
(, 下载次数: 1766)
上传
点击文件名下载附件
[size=18.6667px]
欢迎光临 里飞网 (http://dz.lfly.xyz/)
Powered by Discuz! X3.3