1. 开机图片的资源存放在logo分区中,这个分区中可以存放一个xx.bmp文件,也可以存放一个bin文件(1logo.bin,包含多张压缩的图片集合)
2.平台代码中logo.bin是由mk_1ogo_img.py脚本打包,具体如下(不同安卓版本,下面代码存放于不同makefile文件中),在编译的过程中会将B0OT_LOGO_FILE变量指定的路径下的bmp文件压缩打包成 Logo.bin
INSTALLED_LOGOIMAGE_TARGET := $ (PRODUCT_OUT) /1ogo. bin
MKLOGOIMG := vendor/sprd/build/tools/mk_logo_img. py
$ (INSTALLED_LOGOIMAGE_TARGET) :
$ (MKLOGOIMG) -o $(INSTALLED_LOGOIMAGE_TARGET) -i $ (BOOT_LOGO_FILE)
可以在 device/sprd/<soc>/<board>/product/<product名>/var.mk(如无该文件可以创建该文件)中添加一行
B0OT_LOG0_FILE := /vendor/sprd/release/bmp/unisoc_bmp/boot_1ogo_resource/bmp-file(bmp_file)
该目录名可以改成其他名称,该目录下放若干张bmp图片文件命名顺序从0.bm ~ p9.bmp,超过10张,后面从 a.bmp ~ z.bmp,压缩图片的时候,会根据文件名在目录中默认排序去压缩),这样编译的时候会将 bmp_file 目录下的bmp文件打包成1ogo.bin,将生成的logo.bin文件放到指定的目录下(默认是out目录下和其他镜像一个目录一般是out/target/product/<工程名>/Logo.bin
3.打包脚本的配置,如下,将其修改成BootLogo=1@.out/target/product/<工程名>/logo.bin,这样就将生成的1ogo.bin文件打包到pac中
BootLogo=1@. /vendor/sprd/release/bmp/unisoc_bmp/sprd_720_1600. bmp
4.uboot(或lk)中的使用void log-display(int index、int backlight_value,int 1lcd_enable)函数,index取值与bmp文件对应关系:0->0.bmp,...,9->9.bmp,10->a.bmp...35->z.bmp(1k/uboot 代码中并不是根 据文件名去找bmp文件,而是根据排序顺序去找bmp文件)。