0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用STM32CubeMX将TouchGFX移植到STM32F429IGT6并驱动RGB屏

嵌入式攻城狮 来源:嵌入式攻城狮 2023-06-18 09:51 次阅读

TouchGFX的应用框架如下图所示:

889b5d04-0d14-11ee-962d-dac502259ad0.png

1.STM32CubeMX配置

STM32CubeMX主要用来配置上面所示的应用框架图中的硬件抽象层和中间件层

RCC系统时钟:高速外部时钟(HSE)配置为外部晶振

88e7547a-0d14-11ee-962d-dac502259ad0.png

由于要使用FreeRTOS操作系统,因此建议将HAL库的Timebase Source从SysTick改为其他定时器,选好定时器后,系统会自动配置TIM,此处设置为TIM7

8936bb6e-0d14-11ee-962d-dac502259ad0.png

FMC设置:配置外部SDRAM来作为RGBLCD的显存,根据自已的硬件进行参数以及引脚配置

8970842a-0d14-11ee-962d-dac502259ad0.png

899a36b2-0d14-11ee-962d-dac502259ad0.png

DMA2D设置:激活DMA2D,配置颜色模式为RGB565,并开启DMA2D中断

8a04e804-0d14-11ee-962d-dac502259ad0.png

8a3e7f60-0d14-11ee-962d-dac502259ad0.png

LTDC参数设置:根据使用的屏幕参数配置LTDC参数

8a86a588-0d14-11ee-962d-dac502259ad0.png

LTDC层设置:此处选择使用1层,帧缓存地址设置为SDRAM的首地址0XC0000000

8ab15210-0d14-11ee-962d-dac502259ad0.png

LTDC GPIO引脚设置:根据具体开发板的引脚连接,配置GPIO,注意要讲输出速度设置为“Very High”;并开启LTDC中断

8b04b9e6-0d14-11ee-962d-dac502259ad0.png8b4b4794-0d14-11ee-962d-dac502259ad0.png  

时钟树配置:像素时钟大小为1056*705*60/1024/1024=42M,像素时钟最大值为42M,此处设置为33M(1056为总宽,705为总高)

8ba6cd62-0d14-11ee-962d-dac502259ad0.png

8bea979a-0d14-11ee-962d-dac502259ad0.png

背光引脚设置:本文开发板使用PB5作为背光引脚,设置为推挽输出

8c295df4-0d14-11ee-962d-dac502259ad0.png  

激活CRC:TouchGFX需要开启CRC功能

8c5853fc-0d14-11ee-962d-dac502259ad0.png

激活FreeRTOS系统:heap大小设置为32768字节,其余默认配置;并添加一个TouchGFX任务

8c951a1c-0d14-11ee-962d-dac502259ad0.png8cef5e3c-0d14-11ee-962d-dac502259ad0.png  

选择Touchgfx组件包

8d3562ce-0d14-11ee-962d-dac502259ad0.png8d823cca-0d14-11ee-962d-dac502259ad0.png

TouchGFX参数设置:选择双缓存,RGB565,开启DMA2D加速

8dbedf0e-0d14-11ee-962d-dac502259ad0.png  

生成工程代码:最小堆栈大小设置为0X800

8e07d588-0d14-11ee-962d-dac502259ad0.png

STM32CubeMX生成工程后,先不用打开Keil工程。若此时编译Keil工程,会出现大量报错

2.TouchGFX Designer界面设计

Keil工程生成后,还需要执行Touch Designer来设计UI部分,完善工程 生成工程后,在TouchGFX目录下有个ApplicationTemplate.touchgfx.part,点击即可打开TouchGFX Designer

8e33c184-0d14-11ee-962d-dac502259ad0.png  

拖放一些控件后,点击Generate Code生成代码后,TouchGFX相关的代码就会自动添加进工程中

8e60e434-0d14-11ee-962d-dac502259ad0.png

3. MKD-ARM Keil添加代码

添加SDRAM驱动源文件和头文件

8e91fa4c-0d14-11ee-962d-dac502259ad0.png

在fmc.c文件MX_FMC_Init()函数中添加SDRAM初始化函数,将外存芯片驱动起来

8ece2684-0d14-11ee-962d-dac502259ad0.png  

在touchgfxhal.cpp文件中点亮屏幕背光

8f0582aa-0d14-11ee-962d-dac502259ad0.png

添加相应任务中,添加TouchGFX处理函数

8f488d02-0d14-11ee-962d-dac502259ad0.png

4. 下载测试

编译无误后,下载到开发板中

8fcf4d2e-0d14-11ee-962d-dac502259ad0.png

如TouchGFX移植成功,开发板屏幕会显示TouchGFX Designer中设计好的界面

9004614e-0d14-11ee-962d-dac502259ad0.png





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RGB
    RGB
    +关注

    关注

    4

    文章

    797

    浏览量

    58343
  • RCC
    RCC
    +关注

    关注

    0

    文章

    93

    浏览量

    26877
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    13196
  • STM32F429
    +关注

    关注

    0

    文章

    40

    浏览量

    10626
  • stm32cubemx
    +关注

    关注

    5

    文章

    280

    浏览量

    14734

原文标题:使用STM32CubeMX移植TouchGFX

文章出处:【微信号:嵌入式攻城狮,微信公众号:嵌入式攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问STM32F429IGT6如何驱动DE模式的液晶屏幕?

    STM32F429IGT6如何驱动DE模式的液晶屏幕?
    发表于 04-22 06:38

    STM32F746IGT6STM32F429IGT6测试性能没有提升是怎么回事?

    原来用STM32F429IGT6板子LTDC接口驱动800X480的TFT移植STEMWIN GUI 只用能M565色模式。如果用M888或M8888I模式都会出现总线带宽不够,花
    发表于 05-13 08:51

    通过STM32CubeMX从零驱动STM32F429

    实验内容:1.通过STM32CubeMX从零驱动STM32F429创建一个TouchGFX工程2.更改代码,添加
    发表于 08-04 08:49

    STM32F429移植touchGFX(一)

    目录:新版:0.STM32F429使用STM32CUBMX5.6移植touchGFX4.13旧版:1.STM32F429
    发表于 08-04 09:04

    STM32F429移植FreeRTOS

    STM32F429移植FreeRTOS一、环境Win10、Keil uVision5、STM32CubeMXSTM32F429IGT6二、准备工作2.1创建基于HAL库的
    发表于 08-05 07:47

    如何使用STM32CubeMX配置STM32F767IGT6 的 LTDC外设驱动TFT-LCD

    如何使用STM32CubeMX配置STM32F767IGT6 的 LTDC外设驱动TFT-LCD,本篇详细的记录了如何使用STM32CubeMX配置
    发表于 08-10 06:02

    如何利用STM32CubeMX移植FreeRTOS+LWIPSTM32F429开发板中

    STM32CubeMX移植FreeRTOS+LWIPSTM32F429开发板中。移植的流程如下示:#mermaid-svg-IEetN8r
    发表于 08-10 06:33

    如何利用STM32CubeMX移植LWIPSTM32F429开发板中

    STM32CubeMX+LAN8720+LWIP不带操作系统实现网络通讯使用STM32CubeMX可以非常方便的LWIP移植工程中,本文
    发表于 08-11 08:27

    STM32F429IGT6的ADC有何功能

    STM32F429IGT6的ADC有何功能?STM32F429IGT6 ADC通道有什么区别?在什么时候使用?
    发表于 10-09 07:26

    stm32F429IGT6芯片详解

    stm32F429IGT6有哪些性能?stm32F429IGT6的总线矩阵图是怎样的?
    发表于 10-20 07:23

    如何利用STM32CubeMX移植LWIPSTM32F429开发板中

    本项目采用正点原子的探索者STM32F407开发板利用STM32CubeM移植LWIP使用STM32CubeMX可以非常方便的
    发表于 02-21 06:24

    插针版排针版STM32F429IGT6核心板

    插针版排针版STM32F429IGT6核心板,兼容STM32F7/H7比板对板连接器牢靠。 责任编辑:xj 原文标题:插针版排针版STM32F429IGT6核心板 兼容STM32F7/
    的头像 发表于 12-07 09:33 4289次阅读

    STM32F429使用STM32CUBMX5.6移植touchGFX4.13

    目录:新版:0.STM32F429使用STM32CUBMX5.6移植touchGFX4.13旧版:1.STM32F429
    发表于 11-23 18:07 10次下载
    <b class='flag-5'>STM32F429</b>使用<b class='flag-5'>STM32</b>CUBMX5.6<b class='flag-5'>移植</b><b class='flag-5'>touchGFX</b>4.13

    TouchGFXSTM32F429IGT6上的移植(RT-Thread版本)

    TouchGFX6、执行TouchGFX Designer6.1、TouchGFX Designer界面6.2、添加GUI应用6.3、生成代码三、
    发表于 11-30 18:06 0次下载
    <b class='flag-5'>TouchGFX</b>在<b class='flag-5'>STM32F429IGT6</b>上的<b class='flag-5'>移植</b>(RT-Thread版本)

    使用STM32CubeMXF407ZGT6移植LWIP(全网最全)

    本项目采用正点原子的探索者STM32F407开发板利用STM32CubeM移植LWIP使用STM32CubeMX可以非常方便的
    发表于 12-27 18:37 77次下载
    使用<b class='flag-5'>STM32CubeMX</b>对<b class='flag-5'>F407ZGT6</b><b class='flag-5'>移植</b>LWIP(全网最全)