在uboot阶段可以显示我们的指定logo图片,我们事先已经在eMMC fat分区中放好了logo.bmp图片。eMMC版可以在uboot命令行使用如下命令可以查看:
=> fatls mmc 1:1
6221976 zimage 6221976 zimagebak 1152054 logo.bmp 39956 imx6ull-elf1-emmc.dtb 4 file(s), 0 dir(s) |
我们在uboot阶段想要显示这个图片,就需要先将此图片从eMMC Flash指定分区中加载到内存某地址中,来进行显示。
第一步:在drivers/video/cfb_console.c文件中添加代码,将logo name加载到内存splashimage中:
run_command("mmc rescan",0);
run_command("fatload mmc 1:1 ${splashimage} ${logoname}",0); |
这段代码是用于logo显示的代码,程序会获取环境变量splashimage中的地址,将此地址中的内容display显示,我们增加的这行代码,就是在执行display之前,将mmc分区中的logo图片数据加载到splashiamge地址中。
第二步,我们将编译好的u-boot.imx替换,进入uboot命令行,定义这两个环境变量的值,logoname = logo.bmp,splashimage = 0x83800000:
=> setenv logoname logo.bmp
=> setenv splashimage 0x83800000 => saveenv |
最后,重启板子看显示效果:
我们也可以将环境变量设置为默认环境变量,在include/configs/mx6ullevk.h中添加:
"splashimage=0x83800000"
"logoname=logo.bmp" |