分类: 嵌入式
2011-01-01 00:16:11
参考资料:
【1】U-boot开机logo的制作方法(Tekkaman Ninja):http://blog.chinaunix.net/u1/34474/showart_2085233.html
【2】U-Boot中的Splash Screen(Charlie Chen):http://blog.chinaunix.net/u1/51797/showart.php?id=2070554
【3】UBOOT LCD驱动流程(牛蹄印章):http://blog.chinaunix.net/u3/90973/showart_2303809.html
在有实现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。
三、图片的转换脚本
在制作图片前,请您现确认您的Linux主机上安装了Netpbm 工具包。如果是ubuntu,你可以直接用新立得安装;如果是别的发行版,可以在 下载源代码编译。然后用以下的脚本处理一下就好了:
#!/bin/sh #install Netpbm first jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2
使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)
关于uboot的lcd驱动的编写,可参考资料【3】和Tekkaman的uboot移植源码以及相应的芯片数据手册。参考资料【2】中的BMP命令不是必须的,不过实现了这个命令可以方便调试。