前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让TouchGFX在你的板子上跑起来

让TouchGFX在你的板子上跑起来

作者头像
用户1605515
发布2020-12-17 11:54:19
1.9K0
发布2020-12-17 11:54:19
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

1. 摘要

本文档主要介绍,如何快速搭建起在STM32上运行的TouchGFX底层驱动和应用,以STM32H743为例。

2. 准备工作

安装CubeMX 6.0.1

安装IAR 8.32或以上

安装TouchGFX Designer

3. 动手制作

炫酷的HMI界面例来都是嵌入式开发中的重要内容,而友好的人机界面也会大大提高产品的感官和操作性,为用户提供更多的便利,自ST 收购TouchGFX后, 可以在STM上免费使用,而TouchGFX炫酷的界面和一条龙的制作界面也大大吸引了很多嵌入式程序猿,我将最近开发的项目中使用emwin开发的界面修改成了利用TouchGFX开发,分享给大家一个指南,方便快速上手。

利用CubeMX建立工程,配置初始化参数和外设时钟等,做GUI界面需要配置的外设有DMA2D,FMC,LTDC, QSPI flash等,不管是用emwin还是TouchGFX,我们都需要正确配置这些外设。我们配置系统时钟到400M,SDRAM 200M, LTDC 24M,这些要根据自己的应用和硬件去配置。如果不合适,也可以直接在代码中修改调试。来看看其他外设的配置

3.1 FMC

FMC外设,也就是挂载我们的SDRAM,用来做HMI的缓存和冬天内存,所以非常关键,参数的配置要根据自己所使用的芯片手册,这个配置的管脚比较多,要仔细对待。

参数需查阅你使用的SDRAM芯片的手册配置,以保证SDRAM正常运行的基础。

3.2 LTDC

STM32H743自带RGB屏的控制器,我们只需要配置就可以,这个也需要按照手册上的参数进行配置,否则屏幕不一定能正常点亮。

3.3 DMA2D

DMA2D的配置比较简单,但他的作用可不容小觑,用来加速,是图形界面的利器。

3.4 QSPI

QSPI的配置也比较简单,管脚比较少,我是直接复用之前的驱动,所以在CubeMX里面没有配置,这个大家根据自己的实际配置。

3.5 TouchGFX

配置TouchGFX 软件包

使能TouchGFX Generator, 配置参数

因为TouchGFX 需要配置一些外设,SDRAM用来作为缓存和动态内存,qspi flash用来存储图片,字库等资源,如果你是开发一些很简单的界面存在内部flash也是可以的,但是要想开发炫酷的界面,我们一般都需要使用SPI flash存在外部,不占用MCU的内部flash资源,

3.6 FreeRTOS

因为我们需要跑操作系统,CubeMX可以直接配置freeRTOS, 配置freeRTOS,配置GUI任务

3.7 工程 生成配置

点击Generator CODE 生成代码,先不要编译。

3.8 TouchGFX Designer

用上位机软件TouchGFX Designer打开工程例TouchGFX文件下的后缀为touchgfx的文件进行编辑,可以直接导入例程的摸板。

我们来导入最后一个

可以在线仿真和生成代码,这里直接生成代码,

这时候打生成的IAR工程,是编译不过的,我们需要修改工程配置,添加IAR的QSPI 下载算法,移植QSPI驱动,并使能内存映射模式,修改icf文件等。

3.9 修改工程配置

必须提前制作好下载算法,不然图片,字库等是下不到外部flash的,这就是前两次推送都给大家分别介绍了IAR 的下载算法制作,必须掌握。下载算法的制作可以参照之前的推送文章。这里不在赘述,只需配置支持就好,

3.10 移植QSPI驱动

QSPI驱动需要根据自己所使用的SPI flash手册配置修改和添加,因为不同厂家可能时序和指令以及操作略有不同,这里以华邦的W25Q01JV为例来说。这里直接复用之前工程的代码,只需打开内存映射模式即可。

涉及操作的函数就不一一列举了,关注之前将QSPI的推文就好。

3.11 需改ICF文件

需要修改icf文件,配置QSPI内存映射的地址,并定义ExtFlashSection.

3.12 添加回调函数

3.13 添加触摸驱动

因为需要采集触摸屏的信息,所以还需要添加触摸驱动,我使用的是电阻屏,还需要添加校准,根据自己使用的不同的触摸IC添加不同的驱动,

这样基本就集齐了所有神兽,可以随便玩TouchGFX了,每次修改玩界面,生成的代码可以自动关联到IAR工程,主要是通过自动生成的ipcf文件来完成

4. 验证测试

好了,这下我们来编译工程,无误后,下载到板子上验证

证明工程没有问题,还可以导入其他UI试试,经验证,ST提供的所以例程都可以稳定运行。下次为大家分享TouchGFX中的中文显示。文中提到的外部QSPI flash下载算法制作可以参照之前分享的文章。有了上面的工程, 想要验证ST其他的UI例程,只需自动生成即可。工程不需要在添加任何文件。

5. 参考文档

序号

文献

1

touchgfx-documentation4.15

2

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档