攻城狮分享丨i.MX6X的uboot自动适配logo


有很多客户对于调试屏幕有很多困扰,经常在自己调试屏幕的时候,出现各种各样的问题。为了帮助大家更好更快的调试屏幕, 飞凌研发工程师又 uboot 阶段添加了一项新的功能,让屏幕logo适配更方便更快捷 ,我们一起来看看这一项新的功能吧。

该功能目前适配内核系统为Linux3.0.35版本的i.MX6X平台,操作起来是很简单的,我们只需要把屏幕的分辨率以及刷新频率设置一下,大部分的屏幕就都可以自己适配了,方便又省心。

下面我们就来看看如何操作吧!


IMX6X 开发板 上电后 3秒钟之内 在控制台按空格键进入 uboot命令行。 (如果 3秒内没有按键,则进入启动过程)


IMX6X开发板控制台  


进入命令行后,根据屏幕的提示菜单,选择‘0’,进入uboot shell设置状态。


LCD屏幕设置举例:


假设我们要设置的屏幕分辨率是 640x480, 刷新率 60Hz;则可以按照下面的命令设置:


setenv mxcfb0 video=mxcfb0:dev=lcd,640x480M@60,if=RGB24,bpp=32


saveenv


设置完成后重启, uboot 会按照 640x480 的分辨率在 lcd 接口上显示 logo 图片。


LVDS屏幕设置举例:


我们要设置的 LVDS屏幕分辨率是1280x800,命令如下:


setenvmxcfb0 video=mxcfb0:dev=ldb,1280x800M@60,if=RGB24,bpp=32    

 

saveenv

 

设置完成后重启, uboot会按照1280x800的分辨率在lvds接口上显示logo图片。

 

HDMI屏幕设置举例:


我们要设置的 HDMI屏幕分辨率是1920x1080,命令如下:

 

setenv mxcfb0 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32


saveenv


设置完成后重启, uboot会按照1920x1080的分辨率在hdmi接口上显示logo图片。


以上是三种不同屏幕的设置举例,接下来我们对上面提到的参数作简要说明:


1、 “dev=lcd” dev可以配置的选项包括ldb、hdmi、lcd ,分别对应 lvds接口,hdmi接口和lcd接口;

2、如果是LVDS接口,设置的ldb模式环境变量也在uboot起作用,如设置ldb为sin0则在lvds0接口上显示logo,sin1在lvds1接口上显示logo,spl0则使用spl模式的lvds屏可以在uboot显示logo 

3、 mipi接口不适用此方法 。由于 mipi接口屏幕大部分是需要对屏幕进行初始化的,所以该方法不适用于mipi接口的屏幕,mipi接口屏幕需要根据屏幕厂家手册进行调试。

4、640x480M@60为匹配的显示屏的分辨率和刷新频率,640是宽度,480是高度,60是刷新频率。

5、感兴趣的可以 输入 printenv命令 查看相关的 uboot中的一些参数设置。


以上为操作全过程,是不是很简便,大多数常用的分辨率都可以通过该方法来正常显示。如果匹配的显示效果不佳,请按照显示屏的数据手册,在 uboot或内核内添加准确的显示参数。

— 

 

 

 

 

 

相关产品: