前言

之前写过一篇关于androidO版本的开机logo切换地表最强之Android开机Logo动态替换,

最近正好在研究 NVRAM 相关的东西,那就稍带手加一下这个功能。

开始以为照着之前 O 的修改来就行,没想到 Q 版本相关部分改动还挺大,前前后后折腾了快半个月才搞定。

开机Logo加载原理

1、u-boot logo显示原理

Little Kernel 会在 platform_early_init 阶段首先会获取 lcm params,其工作流程就是透过读id找到现在插入的LCM,

根据 LCM 的分辨率申请相应大小的 frame buffer并确定 frame buffer 起始地址,接着为 logo.bin 预留4M Ram

之后在 platform_init 阶段,直接将 logo.bin 载入到 4M Ram 中

完成载入后,在 platform_init 中 mt_disp_show_boot_logo() 会调用show_logo(0);完成第一张logo显示。

其中的index=0代表在 logo.bin 中压缩的第一张图片,logo.bin 中的图片压缩顺序可以察看文件

vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo\rules.mk

2、kernel logo 显示原理

Kernel logo 的工作方式与 U-boot logo 不同,是透过init.rc中注册的ÿ

AndroidQ(10.0) MTK 开机 Logo 动态替换相关推荐

  1. 地表最强之Android开机Logo动态替换(附100余款车商原厂高清logo)

    前言 现在很多车载大屏都是基于Android系统,其中都会有一个开机 logo 替换程序,任你选择各大车商 logo 替换,一开机就能查看效果. 一直对这块很感兴趣,研究了发现 MTK 平台可以通过 ...

  2. AndroidQ(10.0) MTK平台添加新分区

    65 平台增加一个新分区,用于保存特殊数据,修改文件列表如下 modified: build/make/core/Makefilemodified: build/make/core/config.mk ...

  3. Android 8.0 开机动画,RK3326 android10.0(Q) 开机logo+开关机动画替换

    RK3326 android10.0(Q) 开机logo+开关机动画替换 2020年08月14日 | 萬仟网移动技术 | 我要评论 开机logouboot和kernel阶段的logo分别为开机显示的第 ...

  4. Android系统之Mtk开机logo镜像单独制作(不用全编译代码)

    一.问题背景 在我们客制系统版本时,经常有时候会有需求就是单独更新一个客制logo,如果每次仅仅就是更改一个开机logo,我们每次都需要有一个完整编译的out,也就意味着可能要全编,这想必是非常低效率 ...

  5. MTK开机LOGO图片的显示原理

     MTK开机LOGO图片的显示原理 一.图片的定义 1 1.1.update脚本 1 1.2.rules.mk脚本 2 1.3.图片的宏定义cust_display.h(索引序列号) 3 二.LO ...

  6. android 开机动画动态替换

    客户有需求apk 可以动态修改开机动画,按照android 系统原生逻辑是没有办法做到的 代码位置frameworks/base/cmds/bootanimation static const cha ...

  7. MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据

    MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据. 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关 ...

  8. RK3326 android10.0(Q) 开机logo+开关机动画替换

    开机logo uboot和kernel阶段的logo分别为开机显示的第一张和第二张logo图片, uboot logo源文件: kernel/logo.bmp kernel logo源文件: kern ...

  9. android 10.0 两个laucher动态相互切换(退出一个launcher到另外一个launcher桌面 )(RK 展讯 MTK等平台都适用)

    1.概述 在10.0的产品定制化开发中,产品提出进入launcher后,设置为默认laucher,在退出launcher后,调用设置原生laucher的方法后进入原生launcher, 2.两个lau ...

  10. 安卓手机加密_从安卓1.0到现在的安卓10.0,开机密码都存放在了哪里?

    防止疫情蔓延,请大家坚守在家,努力涨"姿势" 小编于2009年毕业(注意是毕业不是肄业,本编经过了4年的大学深造,是有正规学历证明的!虽然之后从未拿出来向任何人证明过.),毕业后开 ...

最新文章

  1. 抽象工厂模式(C#)
  2. 什么是计算机网络中的主机?
  3. 小米羊城通余额不足服务器维护,再不怕羊城通余额不够了!地铁站现自助补票“神器”...
  4. 第二个冲刺期的第六天
  5. 瑞晟蓝牙来电语音软件下载_拥有无数功能的工具箱软件
  6. Git Branch Mode(分支模式)
  7. 被程序员怼完被自己人怼,产品经理就这样被逼哭了!
  8. Zabbix 系统监控(三)VMware 虚拟平台监控、邮件告警、企业微信告警配置
  9. 2月25日 局域不变特征的目标跟踪,SURF算子,KLT算子
  10. 计算机应用excel题,计算机应用操作练习题-Excel
  11. SPSS-Modeler安装
  12. 关于组长、队长和团长
  13. Java线程游戏(模拟弹弹堂)
  14. 解决电脑无法通过网线直连海康摄像机的问题
  15. 15 个 “高效实用” 的Python工具库!
  16. 【论文翻译】ADVIO: An Authentic Dataset for Visual-Inertial Odometry
  17. 【计算方法】实验二:python实现高斯消去、列主元高斯消去,LU分解分别求解线性方程组
  18. GD32 mcu sram启动配置方法
  19. php怎么设置学年下拉框_在PHP中,为下拉列表设置“name”属性的方法是()
  20. mina简单实用_Mina入门实例(一)

热门文章

  1. soapUI简介、安装使用教程、接口(性能)测试
  2. 多人语音聊天社交app源码,语音聊天的优势是什么,语音系统源码开发
  3. phP imageMagic抠图,ps抠图技巧汇总
  4. mysql索引超出了数组接线_索引超出数组范围是什么意思
  5. Libra客户端使用
  6. KISSsoft03-2018F SP6,计算和重新分析机器零件
  7. ryzen linux mac,AMD Ryzen平台全新macOS10.13.3简洁安装黑苹果镜像
  8. MacOS Big Sur 11.2.2 (20D80) With and OC 0.6.7 原版DMG黑苹果镜像
  9. 集异璧摘录:pq系统-加法-乘法-合数-素数
  10. Shell脚本学习指南(一)——基本概念