sail-imx6q-修改开机LOGO指南

上传人:电*** 文档编号:113394074 上传时间:2019-11-08 格式:DOCX 页数:4 大小:17.72KB
返回 下载 相关 举报
sail-imx6q-修改开机LOGO指南_第1页
第1页 / 共4页
sail-imx6q-修改开机LOGO指南_第2页
第2页 / 共4页
sail-imx6q-修改开机LOGO指南_第3页
第3页 / 共4页
sail-imx6q-修改开机LOGO指南_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《sail-imx6q-修改开机LOGO指南》由会员分享,可在线阅读,更多相关《sail-imx6q-修改开机LOGO指南(4页珍藏版)》请在金锄头文库上搜索。

1、Sail-imx6q-修改开机LOGO指南开机logo对于一台计算机是十分重要的,通过im6xq来修改开机logo,使他的外形更加美观,大家赶快学起来吧!1 修改u-boot中的LOGO 1 更换logo 替换 u-boot-imx/2015.04-r0/git/tools/logos/目录下的freescale.bmp,注意这里要替换的图片一定是256色的位图,如果是24位色的图片转换可能会出错,造成图片显示不正常。 我们也可以,直接把自己需要显示的文件不命名为freescale.bmp,那就需要自己修改u-boot-imx/2015.04-r0/git/tools/Makefile文件,将

2、LOGO_BMP=后面的路径设置为自己的图片的名称。 编译的时候,bmp_logo会将我们指定的图片转换为数组文件,保存在/u-boot-imx/2015.04-r0/git/mx6qsabresd_config/include/目录下的bmp_logo.h、bmp_logo_data.h中 2 将图片居中显示 修改 u-boot-imx/2015.04-r0/git/drivers/video/cfb_console.c 在函数static void *video_logo(void)中修改 splash_get_pos(&video_logo_xpos, &video_logo_ypos)

3、; 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; 3 去掉编译信息 在函数static void *video_logo(void)函数中注释掉下面的代码 sprintf(info, %s, version_string); space = (VIDEO_COLS - VIDEO_INFO_X) /

4、 VIDEO_FONT_WIDTH; len = strlen(info); if (len space) int xx = VIDEO_INFO_X, yy = VIDEO_INFO_Y; uchar *p = (uchar *) info; while (len) if (len space) video_drawchars(xx, yy, p, space); len -= space; p = (uchar *) p + space; if (!y_off) xx += VIDEO_FONT_WIDTH; space-; yy += VIDEO_FONT_HEIGHT; y_off+;

5、 else video_drawchars(xx, yy, p, len); len = 0; else video_drawstring(VIDEO_INFO_X, VIDEO_INFO_Y, (uchar *) info); 2 修改Linux启动的logo 1 生成logo文件 生成logo文件,我们需要用png图片来转换 在terminal中运行下面的命令 pngtopnm car.png car.pnm #转换png成pnm格式 pnmquant 224 car.pnm car224.pnm #转换像素数为224 pnmtoplainpnm car224.pnm logo_car_c

6、lut224.ppm 2 将logo_car_clut224.ppm拷贝到/kernel-source/drivers/video/logo/目录下 3 在/kernel-source/drivers/video/logo/Kconfig下增加 config LOGO_CAR224 bool Standard car logo default y 在/kernel-source/drivers/video/logo/Makefile下增加 obj-$(CONFIG_LOGO_CAR224) += logo_car_clut224.o 4 执行bitbake -c menuconfig -v l

7、inux-imx 在menuconfig中选择Standard car logo 5 在/kernel-source/drivers/video/logo/logo.c中的 const struct linux_logo * _init_refok fb_find_logo(int depth)函数中 if (depth = 8) 。 里面添加 #ifdef CONFIG_LOGO_CAR224 /* Generic car logo */ logo = &logo_car_clut224; #endif 在/kernel-source/include/linux/linux_logo.h 中

8、添加extern const struct linux_logo logo_car_clut224; 6 去掉根据CPU的数目显示logo,只显示一个logo 将/kernel-source/drivers/video/fbmem.c 中函数int fb_show_logo(struct fb_info *info, int rotate) 将y = fb_show_logo_line(info, rotate, fb_logo.logo, 0, num_online_cpus(); 改为 y = fb_show_logo_line(info, rotate, fb_logo.logo, 0,

9、 /*num_online_cpus()*/1); 7 设置logo居中显示 修改 /kernel-source/drivers/video/fbmem.c中的 static void fb_do_show_logo(struct fb_info *info, struct fb_image *image, int rotate, unsigned int num)函数 代码如下: unsigned int x; unsigned int xoff,yoff; /添加的代码 ,设置logo居中显示 xoff = (info-var.xres - num * (fb_logo.logo-widt

10、h )1; yoff = (info-var.yres - (fb_logo.logo-height )1; / if (rotate = FB_ROTATE_UR) /添加的代码,设置logo居中显示 image-dx = xoff ; image-dy = yoff ; / for (x = 0; x dx + image-width var.xres; x+) info-fbops-fb_imageblit(info, image); printk(KERN_ALERTendn ); image-dx += image-width + 8; 修改函数int fb_prepare_logo(struct fb_info *info, int rotate) 在函数的结尾 return fb_prepare_extra_logos(info, fb_logo.logo-height, yres); 改为 return fb_prepare_extra_logos(info, fb_logo.logo-height, yres)+(info-var.yres )1); 重新编译就大功告成。想要了解更多简单便捷的方法就在!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号