基于RT1052 Aworks 使能TFT-LCD高清显示功能(十)

本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发

前置知识,对于显示驱动而言,对于不同的接口,如RGB接口,LVDS, MIPI 接口,其本质还是配置像素时钟与时序,如果需要将RGB接口转成HDMI或者MIPI输出时,需要对转换芯片进行初始化。

1. 首先阅读原理图


硬件上通过RGB接口输出,再经LT9211转成MIPI信号,输出至屏。这当中需要对屏进行通始化,对转换芯片进行初始化,需要阅读手册.
需要做的工作:
第一、输出所需的像素时钟
第二、根据屏幕参数配置所需的时序
第三、转换芯片LT9211进行复位并初始化。
第四、依据屏幕手册进行正确的上下电。
本文只对第一、第二点进行说明。每一个外设都会有上一级的父类时钟,且有多个父类时钟可以选择,如果无法正常的分频倍频获得所需要的像素时钟时,可调整其父类时钟源。

2. 设备资源及驱动适配

2.1 设备资源的注册

初次使用该SDK,为了适配新的屏幕,本人选择默认已经支持的屏,进行适配。
在awbl_hwconf_tft_4_3.h已有现成的样例,基于它进行修改。
根据屏幕手册适配如下字段:
在这里插入图片描述

2.2 设备驱动的注册

在aw_prj_config.c文件当中

#ifdef AW_DRV_FB
    awbl_imx1050_fb_drv_register();
#endif

2.3 设备宏开关

只需要在aw_prj_params.h打开如下定义

aw_prj_params.h

#define AW_DEV_TFT_4_3

即可注册相关的设备资源与设备驱动。

aw_prj_param_auto_cfg.h

#if defined  AW_DEV_TFT_4_3            || \
    defined  AW_DEV_AP_TFT7_0          || \
    defined  AW_DEV_LCD_TM070RDH12_24B || \
    defined  AW_DEV_LCD_640480W056TR   || \
    defined  AW_DEV_LCD_800600W080TR
#define AW_DRV_TFT_PANEL

#ifndef AW_DEV_FB
#define AW_DEV_FB
#endif

#define AW_DEV_IMX1050_PXP

#ifndef AW_DEV_IMX1050_EFLEX_PWM1
#define AW_DEV_IMX1050_EFLEX_PWM1
#endif

#ifndef AW_DEV_IMX1050_LPI2C3
#define AW_DEV_IMX1050_LPI2C3
#endif

#endif

一旦使能宏关关AW_DEV_FB,对应的驱动就会被选上。

3. 如何测试

使用SDK自带的测试样例即可进行测试
demo_lcd_24bbp.c
在这里插入图片描述

4. 总结

如果屏幕是RGB信号屏的话,适配已经完成,整个过程非常简单,所需要的工作量也不大。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式实操

希望博文有助于您,您不必加班。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值