U-boot中设置开机logo的方法

在有实现LCD显示和LCD命令行终端的U-boot中,默认情况下在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。如果想把它改成自己喜欢的或者公司的logo,则只要作简单的修改便可以实现。


一、图片的放置路径


所有的开机logo都放在了 /tools/logos 之下,所以,把你需要显示的logo图片(bmp格式)也放置到该目录下。根据你所设置的显示帧缓存的大小,图片大小有所限制。使用这种方法还有一个限制是:图片只能是8bpp的bmp图(参考uboot源码)。Tekkman文章中所说的“所替换的logo必须和原来的大小、格式一模一样,否则会出现 u-boot使用过程中宕机重启的后果”,我自己亲测中并未遇到,当然,我也并没有做足够的测试,只是这并不需要和原图的大小一模一样。


二、修改Makefile文件 
修改/tools目录下的Makefile文件,大约是44~46行


ifeq ($(LOGO_BMP),)
LOGO_BMP= logos/denx.bmp
endif
把 denx.bmp 替换为你需要显示的logo图片的文件名,保存退出,重新编译uboot。或者在上面的 LOGO_BMP= logos/denx.bmp行后再添加一行,指定自己的图像名称即可。


三、图片的转换脚本 
在制作图片前,请您现确认您的Linux主机上安装了Netpbm 工具包。如果是ubuntu,你可以直接用新得安装;如果是别的发行版,可以在 Netpbm主页  下载源代码编译。然后用以下的脚本处理一下就好了:


#!/bin/sh
#install Netpbm first
    jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2
使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)


关于uboot的lcd驱动的编写,可参考资料【3】和Tekkaman的uboot移植源码以及相应的芯片数据手册。参考资料【2】中的BMP命令不是必须的,不过实现了这个命令可以方便调试。

你可能感兴趣的:(U-boot中设置开机logo的方法)