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

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

1 voiddisplay_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的生成

脚本路径device\qcom\common\display\logo\logo_gen.py

生成splash.img的步骤:

(1) sudo apt-get install python-imaging

安装python成功后运行如下脚本:

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

这样就可在当前目录下生成splash.img。

烧写 splash.img

1

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

重启后发现还是没有替换,需要更改一个配置:

arch/arm64/boot/dts/qcom/msm8976-mdss.dtsi

mdss_fb0: qcom,mdss_fb_primary {

160                         cell-index = <0>;

161                         compatible = "qcom,mdss-fb";

162                         /* qcom,mdss-fb-splash-logo-enabled;*/

163                         qcom,cont-splash-memory {

164                                 linux,contiguous-region = ;

165                         };

166                 };

需要注释掉 qcom,mdss-fb-splash-logo-enabled

编写 make bootimage

烧写 bootimage ,重新启动就可以了。

方法二:利用工具将图片重新生成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成rgb2 convert -depth 8fire_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 镜像,重新开机,看到鸣人和佐助,我们可以安心的下班了啊。

android 高通替换开机logo,高通平台 开机logo 替换相关推荐

  1. 高通平台开机logo的修改

    方法一:准备一张和LCD分辨率一样大小的png图片logo.png,在高通源码目录device/qcom/common/display/logo下面,有readme.txt文件,里面有说明生成镜像文件 ...

  2. 高通骁龙8+转投台积电!4nm制程整体功耗降15%,小米OPPO旗舰都安排上了

    萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 终于,高通的最新芯片又回归台积电工艺了! 就在刚刚,高通在发布会上宣布了全新的移动平台第一代骁龙8+和第一代骁龙7,其中骁龙8+终于从三星4nm回 ...

  3. 高通沈劲:高通创投受到季节变化影响最小,2019年将会投入更多

    2018年初全球通信行业巨头Qualcomm高通完成对机智云B+轮投资,机智云作为高通创投重点投资的物联网领域代表企业,除在资本层面的合作外,在技术产品和市场层面获得高通大力支持,同时也将自身积累多年 ...

  4. 更改高通平台开机logo和开机动画以及fastboot界面显示

    开机logo 首先修改开机logo要从哪里入手呢?先看看源码 void display_image_on_screen()2 {3 struct fbimage default_fbimg, *fbi ...

  5. 高通平台开机logo制作方法

    命令:logo_gen.py  xxx.png 说明中表示用python和PIL(python Image Library)制作,PIL是另外下载安装的库,图片资源必须为png,且色深为8-bit的R ...

  6. 高通平台做GSI测试时,开机重启失败问题

    GSI测试是google在android8.0以后新增的一项测试项,也是为了测试一些兼容性的东西,不多描述.测试之前是要把system.img通过fastboot刷成google提供的原生的gsi测试 ...

  7. 高通linux内核目录,高通 android 源代码以及目标系统目录结构

    下面为高通android源代码结构 build/ – Build 环境建立和makefiles生成4 bionic/ – Android C 库 dalvik/ – Android Java 虚拟机 ...

  8. 高通about.html 文件,高通平台UEFI有关介绍

    高通平台UEFI有关介绍 背景 我需要在高通平台上学习点亮LCD,目前通过同事在别的平台的配置代码,我已经将kernel部分的屏幕点亮了:剩余的工作量就在BP侧,也就是系统刚开机的那一段时间.在开发过 ...

  9. AI每日看点 | 吉利收购飞行汽车公司;传华为暂停向高通支付专利费;高通拒绝博通收购邀约

    1. 吉利收购全球首家飞行汽车公司,将在中国量产 11月13日上午,浙江吉利控股集团有限公司与美国太力(Terrafugia)公司达成最终协议,收购太力公司的全部业务和资产.此项交易已获得包括美国外资 ...

  10. [2018.10.25]高通QFIL刷机:高通sdm845_la2.0用QFIL软件meta_build和flat_build刷机

    [1 代码准备] (i)amss_standard_oem:高通源码 (ii)test_device:amss_standard_oem对应的二进制文件(高通已经编译) (iii)caf:高通源码对应 ...

最新文章

  1. 如何利用K-Means将文件夹中图像进行分类?
  2. 前端一HTML:十五: 层叠,权重,优先级的关系
  3. bzoj 3120 矩阵优化DP
  4. oracle 无法解析指定的连接标识符
  5. Linux服务器 | 服务器模型与三个模块、两种并发模式:半同步/半异步、领导者/追随者
  6. 英文语音识别_英文语音识别软件_英文语音识别翻译 - 云+社区 - 腾讯云
  7. Serverless Framework 无服务器架构
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_2_线程安全问题的代码实现...
  9. 程序员薪酬待遇大调查:学哪种语言的最赚钱?
  10. 01_基于蒲公英R300A的异地组网PLC调试实现
  11. MBR、主引导扇区,主分区、扩展分区、逻辑分区,活动分区、引导分区、系统分区、启动分区
  12. Oracle VM VirtualBox 打开Ubuntu出现0x00000000指令引用的0x00000000内存,该内存不能为written的解决方案
  13. unix/Linux系统下的nobody用户与nologin详细介绍
  14. 谋定信博会入政府规划-赵洪涛:易华录经信研究大数据
  15. 学习计算机编程的基础
  16. 数据挖掘十大经典算法 整理
  17. 银行测试汉字录入软件,银行录入练习 - 在线打字测试(dazi.kukuw.com)
  18. Spark 3.x各模式部署 - Ubuntu
  19. access中dbs和dbms_数据库(DB)、数据库系统(DBS)及数据库管理系统(DBMS)三者之间的关系是( )。...
  20. Pentaho Report Designer 教程(一)初识

热门文章

  1. 使用Netsparker扫描及**某站点
  2. html写16进制编辑器,浏览器中的16进制编辑器 Hexed.it
  3. 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]
  4. 新手必须要注意的编程范式
  5. KASLR-内核地址空间布局随机化
  6. python制作录屏软件_自制录屏软件,不到30行代码(仅供学习研究)
  7. android存储的自动清理,三星One UI(Android 9)自带清理功能:自动释放内存和存储空...
  8. 全国大学生软件测试大赛Web应用测试(八)Web众包测试具体流程
  9. SQL替换字段中的部分内容
  10. latex论文模板双栏