前言
本篇以反客科技的板子为例子,讲解如何配置TOUCHGFX + LTDC + DMA2D。
虽然是使用的是反客科技的板子,但是其中的一些要点还是有共同性的。
使用LTDC的话,配置起来比起SPI的屏幕简单。
使用LTDC点亮你的屏幕
这个不多解释了,点亮屏幕无需其他的配置,只要你的CUBEMX配置正确,就可以点亮,代码也无需修改,具体可以参考这篇文章参考文章https://blog.51cto.com/u_13640625/4904873
配置CUBEMX
假如你已经点亮了你的屏幕,那么你已经距离成功不远了。下面开始配置吧。
1.配置时钟和DEBUG就跳过了。
2.之前已经配置好了LTDC,还要开启LTDC中断
3. 开启DMA2D以及中断
4. 开启FREERTOS以及配置
任务的入口函数的名字非常重要,因为后面TOUCHGFX会生成一个名字为TouchGFX_Task的函数,所以这个必须同名,且使用weak定义
5.配置TOUCHGFX
6.修改TIME BASE
7.修改NVIC
8.工程的修改
9.生成代码
cubamx生成代码后再使用designer生成。
KEIL的修改
由于H7B0的内部FLASH很小,所以都是放在外部的FLASH的。因此在此之前你需要下载一个BOOTLOADER到地址0x8000000来跳转到外部FLASH的地址0x90000000运行。
那么我们的代码以及资源都是放在外部FLASH的,所以KEIL的链接文件是必须修改的,
1.修改链接文件
这里根据实际大小修改,因为我的外部FLASH是8M直接的,所以设置为0x800000
由于RAM地址0x24000000 - 0x24000000 + (480*800*2) 这部分被TOUCHGFX配置为屏幕缓冲,所以这部分的地址是不可用的,所以起始地址和大小需要修改。
2.添加外部下载算法
3.设置中断向量
这步非常重要,如果没有设置的话,是无法实现从外部FLASH运行的。