uboot LCD驱动修改和启动logo修改

发布于:2022-10-23 ⋅ 阅读:(276) ⋅ 点赞:(0)

一般 uboot 中修改驱动基本都是在 xxx.h 和 xxx.c 这两个文件中进行的,xxx 为板子名称,
比如 mx6ull_hyq_emmc.h 和 mx6ull_hyq_emmc.c 这两个文件.

目录

1.检查LCD的GPIO管脚

2.检查LCD配置参数是否正确

3.修改环境变量panel

4.修改uboot启动logo


一般修改 LCD 驱动重点注意以下几点:
①、LCD 所使用的 GPIO,查看 uboot 中 LCD 的 IO 配置是否正确。
②、LCD 背光引脚 GPIO 的配置。
③、LCD 配置参数是否正确。

1.检查LCD的GPIO管脚

检查LCD的GPIO管脚,包括复位、背光的复用功能以及电气属性

LCD管脚初始化,复位LCD,打开背光

 

 2.检查LCD配置参数是否正确

需要注意的是像素时钟pixclock需要转换成皮秒

 

 像素时钟的计算

 

 3.修改环境变量panel

修改mx6ull_hyq_emmc.h文件默认环境变量中的panel为TFT4384,即LCD配置参数中mode.name

 

 

LCD的初始化是通过环境变量panel来选择的,如果您有多块不同分辨率的屏幕,那么下图这里可以添加多块屏幕的信息,每块屏幕的mode.name不能相同;如果mode.name和panel的值相同则选中当前屏幕,因此可以在驱动中兼容多块屏幕,通过设置环境变量panel来切换屏幕

struct display_info_t const displays[]是一个全局的变量,.enable    = do_enable_parallel_lcd是LCD的硬件初始化函数

 

 如果环境变量panel匹配不成功则会输出        printf("unsupported panel %s\n", panel);

屏幕切换(LCD驱动选择)可通过以下命令来切换:

setenv panel "xxx"

saveenv 

reset

4.修改uboot启动logo

在tools下有一个bmp_logo.c文件,bmp_logo这个工具专门是将bmp图片的图片数据提取出来保存到bmp_logo_data.h的unsigned char bmp_logo_bitmap[]数据中,初始化LCD到刷logo的函数调用过程如下

drv_lcd_init()

        -->lcd_init()-

               - ->lcd_clear()

                        -->lcd_logo()

                                -->lcd_logo_plot()-->bmp_logo_bitmap

 修改logo,首先tools/logos/文件夹下保存了各种logo的bmp图片

 其次是通过tools/下的makefile文件中的LOGO_BMP来选择logos文件夹下的哪一张bmp图片做uboot的默认启动logo

 比如现在是选择freescale.bmp这张图片,那么有如下两种方法来修改logo

1.将新的bmp图片来替换tools/logos/文件夹下freescale.bmp

2.将新的bmp图片添加到tools/logos/文件夹下,并修改tools文件夹makefile文件中LOGO_BMP来选择新的bmp图片

注意新的bmp图片尺寸最好和原来的保持一致,并且像素位深不能超过8bit

本文含有隐藏内容,请 开通VIP 后查看

网站公告


今日签到

点亮在社区的每一天
去签到