| **银杏科技有限公司旗下技术文档发布平台** |||| |技术支持电话|**0379-69926675-801**||| |技术支持邮件|Gingko@vip.163.com||| ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | V1.0 | 2020-10-29 | yang | 初次建立 | ===== iCore4T_RTT_11_添加LTDC驱动 ===== * iCore4T ARM具有LTCD控制器。今天,我将在前面移植SDRAM驱动项目的基础上,给大家分享RTT的LTDC驱动移植,最后实现LCD液晶屏的刷屏测试。 ==== 1、首先按照银杏知识库iCore4T双核心板系列教程(STM32CubeMX教程六十——LCD实验驱动4.3寸液晶屏)来对项目Cube进行配置。需要配置时钟、FMC、LTDC、TIM12、GPIO。要与教程配置保持一致,配置完成后重新生成MDK工程。 ==== http://www.gkwiki.cn/doku.php?id=icore4t_60 ==== 2、复制刚刚生成的src文件夹main.c文件中的函数SystemClock_Config(void)到board.c。这里内核初始化时要调用该函数进行时钟配置。 ==== ==== 3、修改board文件夹下kconfig文件,在menu "Onboard Peripheral Drivers"中添加配置LCD的选项。 ==== {{ :icore4t:iCore4T_RTT_11_1.png?direct |}} {{ :icore4t:iCore4T_RTT_11_2.png?direct |}} ==== 4、在bsp\stm32\libraries\STM32H7xx_HAL下文件SConscript中,添加“STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c”。 ==== {{ :icore4t:iCore4T_RTT_11_3.png?direct |}} ==== 5、在board文件夹下新建ports文件夹,用来存放接口头文件。在ports下新建lcd_port.h文件,并添加接口头文件路径到board/SConscript中,内容如下: ==== #ifndef __LCD_PORT_H #define __LCD_PORT_H #ifdef __cplusplus extern "C" { #endif #define LCD_BACKLIGHT_USING_GPIO #define LCD_BL_GPIO_NUM GET_PIN(B, 4) #define LCD_DISP_GPIO_NUM GET_PIN(B, 14) #define DRV_DEBUG #define FINSH_USING_MSH #define LCD_WIDTH 480 #define LCD_HSYNC 1 #define LCD_HBP 20 #define LCD_HFP 24 #define LCD_HEIGHT 272 #define LCD_VSYNC 2 #define LCD_VBP 8 #define LCD_VFP 6 #define LCD_BUF_SIZE 2*480*272 #define LCD_HSYNC_WIDTH 1 #define LCD_VSYNC_HEIGHT 2 #define LCD_BITS_PER_PIXEL 2 #define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB565 #define RED 0xf800 #define GREEN 0x07e0 #define BLUE 0x001f #ifdef __cplusplus } #endif #endif /*__ LCD_PORT_H */ {{ :icore4t:iCore4T_RTT_11_4.png?direct |}} ==== 6、在menu "RT-Thread Kernel -> Memory Management"下勾选Using memory heap object选项,并在子选项中选择Use all of memheap objects as heap。 ==== {{ :icore4t:iCore4T_RTT_11_5.png?direct |}} ==== 7、进入stm32h750-gingko-icore4t文件夹下,右击空白处,选择ConEmu Here,使用scons命令,键入scons --target=mdk5,生成MDK5工程。 ==== ==== 8、打开stm32h750-gingko-icore4t下的project.uvprojx工程,打开drv_lcd.c文件,将液晶屏背光开启函数中的引脚电平进行修改,iCore4T中PB4、PB14低电平,液晶屏使能供电。编译,烧录,就可以进行LCD测试了。 ==== {{ :icore4t:iCore4T_RTT_11_6.png?direct |}} ==== 9、打开终端,选择对应COM口,比特率115200,可以看到系统启动信息,ltdc init success,LTDC初始化成功。运行lcd_test程序则液晶屏红绿蓝三色轮流刷屏。注意:drv_lcd.c中lcd_test函数中三色刷屏在while循环中,若要退出lcd_test函数,请自行修改。 ==== {{ :icore4t:iCore4T_RTT_11_7.png?direct |}} 至此说明我们的LTDC驱动已经添加成功。 ==== 10、源代码 ==== 源代码可以稳步这里下载: 链接:https://pan.baidu.com/s/1fcLU4WaRDlgr0mNYwZj1Yg  提取码:zstq