①uboot的开机logo图片存放在tools/logos下,将自己要添加的开机图片(bmp格式,且色彩深度为8bit,大小应小于显示屏像素大小)添加到此文件夹下。
②修改logo的图片格式,并设置色深为8bit,shell脚本如下
#输入sudo apt-get install netpbm,安装Netpbm工具包
#使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)
#!/bin/sh
jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2
③修改tools文件夹下的Makefile,找到
ifneq ($(wildcard $(srctree)/$(src)/logos/$(BOARD).bmp),)
LOGO_BMP= $(srctree)/$(src)/logos/$(BOARD).bmp
并将LOGO_BMP修改为:
LOGO_BMP= $(srctree)/$(src)/logos/cr2.bmp(此处为自己的添加的bmp图片)
④编译下载
补充:tools/bmp_logo.c文件是将要显示的bmp文件转换成数组存放到include/bmp_logo_data.h中,图片的长宽高等信息存放在include/bmp_logo.h中
学习记录-修改uboot开机logo-OpenEdv-开源电子网
imx6ull启动的时候默认显示uboot自带的开机画面,按照如下步骤修改为我们想要的开机画面,如下:
首先去掉液晶屏右上角的打印信息
修改/drivers/video/cfb_console.c注释掉以下代码
准备需要显示的图片,使用windows的画图工具转换为256色bmp格式,注意分辨率一定要小于屏幕的分辨率,大小在100K以内,否则会显示不正常。
将准备好的图片复制到/tools/logos/目录下,直接替换目录下的freescale.bmp,或者使用自己图片的名字,比如我的图片的名字为YS.bmp,修改/tools/Makefile文件,如下:
编译运行
接下来要使图片居中显示,修改drivers/video/cfb_console.c,在函数static void *video_logo(void)中修改
splash_get_pos(&video_logo_xpos, &video_logo_ypos);
//这里是增加的代码,设置图片居中显示
if(video_logo_xpos==0&&video_logo_ypos==0)
{
video_logo_xpos= (VIDEO_VISIBLE_COLS - BMP_LOGO_WIDTH)>>1;
video_logo_ypos= (VIDEO_VISIBLE_ROWS - BMP_LOGO_HEIGHT)>>1;
}
编译运行
修改imx6ull开机LOGO(一) - mcu1234 - 博客园
Uboot Logo位置居中设置和屏蔽uboot的info
麻烦再请教一下在uboot中有以下函数,这个不也是设置位置的吗,为什么不生效。
static void lcd_logo(void)
{
lcd_logo_plot(0, 0);
#ifdef CONFIG_LCD_INFO
lcd_set_col(LCD_INFO_X / VIDEO_FONT_WIDTH);
lcd_set_row(LCD_INFO_Y / VIDEO_FONT_HEIGHT);
lcd_show_board_info();
#endif /* CONFIG_LCD_INFO */
}
U-Boot启动显示的logo不是在这个函数中处理的,你找到LCD初始化那块看看,分析下是怎么在启动过程中显示logo的
Uboot Logo位置居中设置和屏蔽uboot的info-OpenEdv-开源电子网
1、进入tools目录,在该目录下你会看到一个叫logos的目录,里面存的是logo图标,
可以自己添加logo图标到该目录,注意需256色的。
LOGO_BMP= logos/denx.bmp
endif
ifeq ($(VENDOR),denx)
LOGO_BMP= logos/denx.bmp
改变x,y的数字,来改变logo的显示位置。该函数在lcd.c代码的857行
# Generic logo
ifeq ($(LOGO_BMP),)
LOGO_BMP= $(srctree)/$(src)/logos/denx.bmp
# 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
endif
endif
版权声明:本文为CSDN博主「猩猩の點燈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34968572/article/details/105120897