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

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

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

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

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

进入命令行后,根据屏幕的提示菜单,选择‘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或内核内添加准确的显示参数。

(0)

相关推荐