转载自:http://www.cnblogs.com/zzb-Dream-90Time/p/6510908.html

高通平台msm8916修改开机logo

经过两天的奋战终于把开机logo给搞定了啊。

首先修改开机logo要从哪里入手呢?先分析一下源码看看. --->

 1 void display_image_on_screen()
 2 {
 3     struct fbimage default_fbimg, *fbimg;
 4     bool flag = true;
 5
 6     fbcon_clear();
 7     fbimg = fetch_image_from_partition();      //从splash镜像分区抓取图片
 8     if(fbimg){
 9         dprintf(CRITICAL, "zbzhuang### ->fetch_image_from_partition\n");
10     }
11
12     if(!fbimg) {                              //如果splash.img分区的内容不存在或者被擦除则从splash.h头文件从获取要显示图像的数组
13         dprintf(CRITICAL, "zbzhuang### ->not fetch_image_from_partition\n");
14         flag = false;
15         fbimg = &default_fbimg;
16         fbimg->header.width = SPLASH_IMAGE_HEIGHT;
17         fbimg->header.height = SPLASH_IMAGE_WIDTH;
18 #if DISPLAY_TYPE_MIPI
19         fbimg->image = (unsigned char *)imageBuffer_rgb888;
20 #else
21         fbimg->image = (unsigned char *)imageBuffer;
22 #endif
23     }
24
25     fbcon_putImage(fbimg, flag);
26 }

粗略的看了一下源码,大概可以知道要修改开机logo有两种方式一种是通过。经过本人的验证,对于大图片强烈建议使用方法一,当然小图片也可以使用方法一。方法二只适合分辨率不超过320*200的图片,之前本人测试了无数次,验证了很久才总结出来的啊,分辨率超过320*200的一定不要使用方法二。

方法一:利用工具根据图像生成splash.img镜像之后,使用fastboot重新刷splash.img分区。

方法二:利用工具将图片重新生成splash.h头文件的数据,替换相应的头文件就OK。

方法一:利用工具根据图像生成splash.img镜像之后,使用fastboot重新刷splash.img分区。

首先准备一张800*1280的图片(png格式),和生成splash.img镜像的脚本工具--->logo_gen.py。

将图片和工具都扔到服务器上面去,并且执行下面的代码,就会生成splash.img的镜像文件,之后使用fastboot 命令就可以刷开机logo的图片了啊,看到强悍的路飞我们的任务完成了啊。

1  python ./logo_gen.py lufi.png 

1 adb reboot bootloader         //进入bootloader模式
2 fastboot flash splash         //将镜像刷入
3 fastboot reboot               //重启平板电脑

方法二:利用工具将图片重新生成splash.h头文件的数据,替换相应的头文件就OK。

在ubuntu下敲如下三行命令,要事先安装好conver xxd等工具 。fire_296137.png 图片

1 convert fire_296137.png -recolor "0 0 1,0 1 0,1 0 0" fire_296137_re.png    //将图片重新着色BRG转C成rgb
2 convert -depth 8 fire_296137_re.png rgb:fire_296137_raw.raw                //将png格式转成raw图片格式
3 xxd -i fire_296137_raw.raw > splash.h                                      //生成对于的splash.h头文件的数组

至于生成的数组要替换Splash.h (z:\bootable\bootloader\lk\platform\msm_shared\include)  那个数组呢?我的平板电脑是采用MIPI接口股修改第二个数组:imageBuffer_rgb888[]数组的内容。同时修改分辨率

1 #define SPLASH_IMAGE_WIDTH     320
2 #define SPLASH_IMAGE_HEIGHT    200 

从我刚开始贴的代码的第7行和第12号可知,如果splash分区的有图片的镜像,那么在显示logo的时候就优先从splash分区当中加载,否则从splash[]数组中加载图片。

因此我们要从splas[]数组当中加载图片一定要擦除splash分区:之后才可以成功的从splash.h头文件的数组中显示图片,或者注释第7行代码强制跳过从splash分区加载镜像,修改了源码之后只需要重新编译源码,之后重新烧录aboot镜像就可啦。

1 rm out/target/product/msm8916_64/emmc_appsboot.mbn    //编译之前一定要先删除,避免没有重新编译改动过的文件
2 make aboot -j8                                        //单独编译lk镜像

使用fastboot命令重新烧录aboot 镜像,重新开机,看到鸣人和佐助,我们可以安心的下班了啊。

转载自:http://blog.csdn.net/u011006622/article/details/62227231

高通平台修改LK(bootloader)开机logo

一,怎么更改bootloader里的logo图片:

1 首先得拿到图片,格式要求是png, 色深8bit, 且不带alpha(透明色)通道的

2 将 png文件转换成raw文件

convert Android.png -depth 8 rgb:Android.raw

3 对于某些屏(只支持RGB565才需要此步骤),将raw文件转换成565格式的raw文件, android 自带了一个这样的工具,在out/host/Linux-x86/bin

./rgb2565 android.raw android.raw565

4 将android.raw或android.raw565转换成原始数组

xxd -i android.raw565 > android_logo.h 
xxd -i android.raw > android_logo.h

复制android_logo.h中的数组,替换bootable\bootloader\lk\platform\msm_shared\include\Splash.h中相应的imageBuffer_rgb888[]数组;
注意:splash.h文件中,有imageBuffer[]和imageBuffer_rgb888[] 两个数组。利用一个预编译进行判断
[cpp] view plain copy
  1. #if (!DISPLAY_TYPE_MIPI)
根据自己的实际情况修改对应的数组 
修改宏的值:
[html] view plain copy
  1. #define SPLASH_IMAGE_WIDTH     124
  2. #define SPLASH_IMAGE_HEIGHT    113
[html] view plain copy
SPLASH_IMAGE_WIDTH      对应logo.png的高度
SPLASH_IMAGE_HEIGHT    对应logo.png的宽度
编译lk烧写验证。
二,企鹅界面对应splash.img的生成

device\qcom\common\display\logo\logo_gen.py,生成splash.img的步骤:

(1) sudo apt-get install Python-imaging

(2) Python ./logo_gen.py snapdragon.png

这样就可在当前目录下生成splash.img,图片要求png格式,且且色深为8-bit的RGB或者RGBA格式。

高通平台msm8916修改开机logo 高通平台修改LK(bootloader)开机logo相关推荐

  1. 华为鸿蒙或适配高通平台,鸿蒙2.0适配高通平台,网友:华为这是要取代安卓吗?...

    鸿蒙.鸿蒙.鸿蒙-- 近一段时间关于华为鸿蒙2.0手机端操作系统的消息越来越多,而且很多提前拿到内测版的童鞋也开始放出关于鸿蒙2.0手机端操作系统的体验与感受,这无疑把华为鸿蒙2.0手机操作系统的热度 ...

  2. 高通平台MSM8916 LCM ID读取方法

    高通默认的LCM 兼容做法是通过ADC实现的. 相关代码: bootable/bootloader/lk/target/M9PLUS/oem_panel.c 函数oem_panel_select中: ...

  3. 高通平台msm8916修改开机logo【原创】

    经过两天的奋战终于把开机logo给搞定了啊. 首先修改开机logo要从哪里入手呢?先分析一下源码看看. ---> 1 void display_image_on_screen() 2 { 3 s ...

  4. 高通平台android开发总结

    http://www.cnblogs.com/yuzaipiaofei/archive/2012/07/24/4124179.html 1.高通平台android开发总结 1.1 搭建高通平台环境开发 ...

  5. 高通平台android 环境配置编译及开发经验总结

    完全转自:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  6. 高通平台android开发总结 .

    http://blog.csdn.net/mirkerson/article/details/7691029 http://blog.csdn.net/mirkerson/article/detail ...

  7. 高通平台android 环境配置编译及开发经验总结【转】

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  8. 高通平台lk阶段logo修改

    高通平台lk阶段logo修改: 1.通过logo图片得到要显示的数组: 运行"ffmpeg -i logo.png -f rawvideo -pix_fmt bgr24 logo.raw&q ...

  9. 高通平台 lcd driver 调试小结

    一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2  开发环境 And ...

  10. 高通平台android7.1系统显示旋转180度

    实现方法 内核层修改 kernel\msm-3.18\arch\arm\boot\dts\qcom\dsi-panel-lm215w-lvds-1080p-video.dtsi增加qcom,mdss- ...

最新文章

  1. Python语言的特点
  2. 操作dict时避免出现KeyError的几种方法
  3. norm--求矩阵和向量的范数
  4. Ubuntu18.04安装JDK1.8和maven3
  5. Linux-C实现GPRS模块发送短信
  6. 左右滑动实现activity之间的跳转
  7. c++ static修饰符浅析
  8. Docker收购Orchard,SAP支持OpenStack,ODF等
  9. 【知了堂学习笔记】java 自定义异常
  10. 有界、无界队列对ThreadPoolExcutor执行的影响
  11. 学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计
  12. oracle 11g查隐含参数,oracle隐含参数修改与查看
  13. wkwebview 预览文件_iOS之H5调用系统相册相机浏览文件
  14. 一键GHOST光盘版官方版
  15. vue 后台系统中多页面标签
  16. 微信还可以这样玩|ItChat
  17. Centos 修改 DNS 怎样生效
  18. 杰瑞·卡普兰:人工智能的本质是自动化 而非智能化
  19. 域服务器禁用无线,无线域服务常见问题
  20. unity中RectTransform的各个值得获取

热门文章

  1. 三城记:中国创客地图
  2. SpiderViewer - 远程桌面客户端
  3. win10使用的c语言程序开发,Win10是什么编程语言写的?源代码文件多到你无法想象...
  4. vm12装xp系统步骤
  5. 融资轮数划分 天使轮 种子轮 preA A A+ B轮 C轮
  6. Android O、N版本修改dex2oat编译选项,减少占用ROM空间或者加快安装速度
  7. 入行必看:数字后端工程师有哪些就业机会?
  8. 中医药与计算机论文,中医药论文参考文献
  9. my-mind在线思维导图软件
  10. Nginx的 MIME TYPE问题导致的mjs文件加载出错的问题解决