有很多客户对于调试屏幕有很多困扰,经常在自己调试屏幕的时候,出现各种各样的问题。为了帮助大家更好更快的调试屏幕,飞凌研发工程师又 在 i.MX6X的uboot 阶段添加了一项新的功能,让屏幕logo适配更方便更快捷 ,我们一起来看看这一项新的功能吧。
该功能目前适配内核系统为Linux3.0.35版本的i.MX6X平台,操作起来是很简单的,我们只需要把屏幕的分辨率以及刷新频率设置一下,大部分的屏幕就都可以自己适配了,方便又省心。
下面我们就来看看如何操作吧!
IMX6X开发板 上电后 3秒钟之内 在控制台按空格键进入 uboot命令行。 (如果 3秒内没有按键,则进入启动过程)
进入命令行后,根据屏幕的提示菜单,选择‘0’,进入uboot shell设置状态。
LCD屏幕设置举例:
假设我们要设置IMX6X开发板 的屏幕分辨率是 640x480, 刷新率 60Hz;则可以按照下面的命令设置:
setenv mxcfb0 video=mxcfb0:dev=lcd,[email protected],if=RGB24,bpp=32
saveenv
设置完成后重启, uboot 会按照 640x480 的分辨率在 lcd 接口上显示 logo 图片。
LVDS屏幕设置举例:
我们要设置IMX6X开发板 的 LVDS屏幕分辨率是1280x800,命令如下:
setenvmxcfb0 video=mxcfb0:dev=ldb,[email protected],if=RGB24,bpp=32
saveenv
设置完成后重启, uboot会按照1280x800的分辨率在lvds接口上显示logo图片。
HDMI屏幕设置举例:
我们要设置IMX6X开发板 的 HDMI屏幕分辨率是1920x1080,命令如下:
setenv mxcfb0 video=mxcfb0:dev=hdmi,[email protected],if=RGB24,bpp=32
saveenv
设置完成后重启, uboot会按照1920x1080的分辨率在hdmi接口上显示logo图片。
以上是在IMX6X开发板 三种不同屏幕的设置举例,接下来我们对上面提到的参数作简要说明:
1、 “dev=lcd” dev可以配置的选项包括ldb、hdmi、lcd ,分别对应 lvds接口,hdmi接口和lcd接口;
2、如果是LVDS接口,设置的ldb模式环境变量也在IMX6X开发板 中的uboot起作用,如设置ldb为sin0则在lvds0接口上显示logo,sin1在lvds1接口上显示logo,spl0则使用spl模式的lvds屏可以在uboot显示logo
3、 mipi接口不适用此方法 。由于 mipi接口屏幕大部分是需要对屏幕进行初始化的,所以该方法不适用于mipi接口的屏幕,mipi接口屏幕需要根据屏幕厂家手册进行调试。
4、IMX6X开发板 的uboot shell界面,里面的[email protected]为匹配的显示屏的分辨率和刷新频率,640是宽度,480是高度,60是刷新频率。
5、感兴趣的可以 输入 printenv命令 查看相关的 uboot中的一些参数设置。
以上为操作全过程,是不是很简便,大多数常用的分辨率都可以通过该方法来正常显示。如果匹配的显示效果不佳,请按照显示屏的数据手册,在 uboot或内核内添加准确的显示参数。
原文链接:https://www.forlinx.com/article_view_376.html
原文地址:https://blog.51cto.com/14771158/2486873