Uboot启动logo修改

Uboot启动logo修改

使用Uboot版本

2016.03.10

修改Uboot启动logo需要的操作

(1).修改tools目录下的Makefile文件的如下部分:

# Use board logo and fallback to vendor
ifneq ($(wildcard $(srctree)/$(src)/logos/$(BOARD).bmp),)
LOGO_BMP= $(srctree)/$(src)/logos/$(BOARD).bmp
else
ifneq ($(wildcard $(srctree)/$(src)/logos/$(VENDOR).bmp),)
LOGO_BMP= $(srctree)/$(src)/logos/$(VENDOR).bmp

可以将 $(VENDOR).bmp的这个名字,替换为自制的logo的bmp 图片的名字。
(2).在Uboot的可配置裁剪文件中,确定有如下宏是被定义的:

#define CONFIG_CFB_CONSOLE
#define CONFIG_VIDEO_MXS
#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_SW_CURSOR
#define CONFIG_VGA_AS_SINGLE_DEVICE
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_SPLASH_SCREEN
#define CONFIG_SPLASH_SCREEN_ALIGN
#define CONFIG_CMD_BMP
#define CONFIG_BMP_16BPP
#define CONFIG_VIDEO_BMP_RLE8
#define CONFIG_VIDEO_BMP_LOGO
#define CONFIG_IMX_VIDEO_SKIP

(3).重新编译Uboot,然后再次烧写,然后Uboot启动显示的就会是自制的logo了。

Uboot显示logo详解

Uboot显示logo的详细流程

LCD的初始化在uboot启动的第二阶段,在init_sequence_r函数指针数组里。
函数调用过程如下:

····board_init_r: common/board_r.c
········stdio_add_devices:common/stdio.c
············drv_video_init:drivers/video/cfb_console.c
················int board_video_skip:arch/arm/imx-common/video.c
····················void select_display_dev:board/freescale/mx6ullevk/mx6ullevk.c
················video_init:drivers/video/cfb_console.c
····················dcache_status:arch/arm/lib/cache-cp15.c
················video_clear:drivers/video/cfb_console.c
················video_logo:drivers/video/cfb_console.c
····················splash_get_pos:common/splash.c
····················do_fat_fsload:cmd/fat.c
····················splash_screen_prepare:common/splash.c
····················video_display_bitmap:drivers/video/cfb_console.c
····················logo_plot:drivers/video/cfb_console.c
························plot_logo_or_black:drivers/video/cfb_console.c
················board_cfb_skip:drivers/video/cfb_console.c
上一篇:vue显示二维码


下一篇:Python 程序封装-打包成exe程序