MTK開機LOGO圖片的顯示原理
MTK開機LOGO圖片的顯示原理
以下原始碼分析基於C300
Android 開機畫面由三部分組成,第一部分在bootloader 啟動時顯示(uboot);第二部分在啟動kernel 時顯示(kernel);第三部分在系統啟動時(bootanimation)顯示(動畫)。
uboot、kernel的LOGO(專案中一般這兩張圖片是一樣的,即常說的開機LOGO)。
一、圖片的定義
1.1、update指令碼
Path:./c300/android/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/update
類似於如下圖的這種定義,注意圖片必須是
1.2、rules.mk指令碼
Note:一般logo目錄下會有很多格式的圖片,例如hdplus、hvga、hd720,具體使用哪種格式的圖片,取決於專案中的配置檔案ProjectConfig.mk。例如在c300 orange訂單中使用的是Boot_LOGO=hdplus格式,如下圖所示:
1.3、圖片的巨集定義cust_display.h(索引序列號)
Path:c300/android/vendor/mediatek/proprietary/bootable/bootloader/lk/target/c300/include/target/cust_display.h
如在c300中
// Common LOGO index
#define BOOT_LOGO_INDEX 0
#define KERNEL_LOGO_INDEX 38
二、LOGO圖片顯示的邏輯程式碼實現
2.1、platform.c
當正常開機的過程中
Path:c300/android/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6739/platform.c
.........else if (g_boot_mode != KERNEL_POWER_OFF_CHARGING_BOOT && g_boot_mode != LOW_POWER_OFF_CHARGING_BOOT) {
if (g_boot_mode != ALARM_BOOT && (g_boot_mode != FASTBOOT) && !bearly_backlight_on) { //正常開機的過程中顯示的LOGO
#ifndef MACH_FPGA_NO_DISPLAY
PROFILING_START("show log");
mt_disp_show_boot_logo(); //platform.c中會呼叫這個方法去顯示logo
PROFILING_END();
#endif
}
2.2、mtk_logo.h
方法的結構體定義mtk_logo.h(宣告mt_disp_show_boot_logo()方法)
Path:c300/android/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6739/include/platform/mt_logo.h
2.3、mt_logo.c
方法的具體實現mt_logo.c
Path:c300/android/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6739
原始碼如下所示:
/*
* Show first boot logo when phone boot up
*
*/
void mt_disp_show_boot_logo(void)
{
dprintf(INFO, "[lk logo: %s %d]\n",__FUNCTION__,__LINE__);
mt_logo_get_custom_if();
if (logo_cust_if->show_boot_logo) {
logo_cust_if->show_boot_logo();
} else {
///show_logo(0);
init_fb_screen();
fill_animation_logo(BOOT_LOGO_INDEX, mt_get_fb_addr(), (void *)mt_get_tempfb_addr(), logo_addr, phical_screen);
mt_disp_update(0, 0, CFG_DISPLAY_WIDTH, CFG_DISPLAY_HEIGHT);
}
return;
}
總結:在修改LOGO圖片的時候,需要確認清楚解析度、命名必須與原來的保持一致、圖片格式一致等 。上述的檔案分析原理過程大致是顯示一張LOGO圖片原理過程中涉及到的檔案、方法、變數。(注:高通平臺的開機LOGO是一個splash.img檔案)
當修改了LOGO之後,單獨編譯對應的目錄會生成logo.bin,重新燒錄可以直接驗證效果。如果有修改對應的lk目錄下的檔案,還需要單獨編譯lk。
相關推薦
MTK開機LOGO圖片的顯示原理
MTK開機LOGO圖片的顯示原理 總結:5 以下原始碼分析基於C300 Android 開機畫面由三部分組成,第一部分在bootloader 啟動時顯示(uboot);第二部分在啟動kernel 時顯示(kernel);第三部分在系統啟動時(boo
圖片播放器(三):圖片顯示原理
1.圖片顯示原理 (1)概念1:畫素 (2)概念2:點陣 (3)解析度(物理解析度、顯示解析度) (4)清晰度(解析度和畫素間距有關)畫素間距相同時,解析度越大越清晰;解析度相同時,畫素間距越小越清晰。 (4)bpp(RGB565、RGB888)畫素深度,每個畫素用多少bit資料表示 (5)顏色
修改u-boot的開機logo及顯示過程
[ u-boot: git://git.denx.de/u-boot.git] [tag: v2011.09-rc1 ] 修改u-boot的開機logo其實很簡單。請見下面步驟。 1. 獲取一張BMP的圖片,修改之,讓其色深為8位,即256色,如果用24位,則顯示出問
製作Linux嵌入式系統開機LOGO(圖片)
核心:linux-2.6.22.6 ubuntu:Ubuntu 9.10 開發板: JZ2440(方法通用,不侷限於JZ2440) 目的: JZ2440開機logo預設是一隻可愛的小企鵝。我們把它替換成我們自己喜愛的圖片 準備工作: 準備好BMP或者
deepin因NVIDIA顯示卡造成開機啟動問題:卡在開機logo介面+進入桌面滑鼠一直轉圈
寫在前面:前兩天為了做人工智慧的作業,給自己和室友裝了一個deepin15.7的系統(我和室友電腦均是NVIDIA顯示卡),想著自己裝好之後不會出現什麼問題,結果錯誤還是如期而至,無奈,只能自己親自想辦
解決安裝Ubuntu16.04時因NVIDIA顯示卡造成的卡在開機logo介面的問題
安裝Ubuntu16.04LTS系統時,安裝一路順利但重啟時卡在開機logo介面,是NVIDIA顯示卡的問題 解決方法: 安裝成功之後,重啟,在引導頁按e進入grub編輯頁面 倒數第二段 quiet splash 後面,也是還有別的,反正這段的最後,加上nomodeset
UBoot開機圖片顯示
By Toradex胡珊逢 1). 簡介 在之前的文章中,我們已經介紹瞭如何在 Linux中新增開機圖片,實現定製化的開機 Logo 顯示。或許你也已經注意到了,在裝置剛上電啟動的時候,LCD顯示屏出現下面幾種現象,花屏、黑屏或者顯示內容不全等。這是因為,在基於 Li
python中圖片顯示中文的方法和原理
控制matplotlib畫圖中圖片字型的引數是在rcParmas中設定,預設的引數設定中使用的字型為sans-serif類,其中包括了常見的Arial和Helvetica等,但這些字型是不支援顯示中文的。通過更改該引數中的字型設定,將其轉為一種支援中文的字型,即
關於微信分享logo圖片不顯示,帶有微信敏感文字
做微信分享的時候,發現自己分享的連結帶的logo自己能看到,但是好友是看不到的。 問題是因為描述語帶有微信敏感關鍵字,就我所知的微信敏感關鍵字如下: 1.紅包 2.現金 3.神聖 4.使命
Android中下載的圖片不能顯示,開機後才能顯示(大全)
之所以要補充這次,是因為第一次寫的並沒有解決我的bug,真正的解決方法在分割線下 問題情景: 我自己做了個雲相簿,最重要的功能就是上傳下載功能,下載的時候我會把下載的照片放到一個新建的資料夾下,之前測試的時候,隱藏了一個bug,今天把新建檔案下的照片都刪除了
Linux logo圖片大小800x600的不顯示
我的螢幕是800*600,移植同等大小圖片後不顯示,且列印fbcon_init:disable boot-logo(boot-logo bigger than screen)。 不明白為什麼同樣大小的圖片不顯示?? 仔細閱讀原始碼,定位於fbcon_prepare_logo()函式,發現計算螢幕顯示所需行數是
Android系統之路(初識MTK) ------ 客製化開機LOGO跟開機動畫/系統預設桌布
很多訂單專案都需要我們去修改開機logo和開機動畫,今天說的也是關於這方面的修改,首先我們要知道MTK的工作原理,檢視開發板的文件可知,我們需要降編譯和打包 之後的檔案編譯到 system/media
Windows中,win10開機介面,顯示的圖片存放地址
win 10開機後,在登入介面,會切換圖片,圖片的存放位置為:C:\Users\username\appdata\Local\Packages\Microsoft.Windows.ContentDeliveryManager_********\LocalState\Asse
C#上位機1 開機圖片顯示
一個實現小的上位機 一:執行上位機時顯示先實現一張圖片再顯示 開啟Visual Studio新建Windows窗體應用程式專案 右鍵點選WindowsFormsApplication1再新增一個Windows窗體應用程式 新增後可以看到有兩個from介面 這是雙擊右
MTK 修改開機logo和動畫
MTK 的開機圖片有三個階段: 1.Uboot的開機logo 2.kernel層的開機logo 3.開機動畫 1.在alps/mediatek/config/${project}/ProjectConfig.mk 中BOOT_LOGO=wvganl 可知開機
nginx+gridfs+mongodb 配置訪問png圖片顯示無法加載問題
nginx配置文件 做了 nginx配置 副本 server port 問題 模塊 bject 上傳文件後,瀏覽器中請求:http://<nginx server ip>:<port>/gfs/<my file> 瀏覽器出現“無法
Swift開發教程--怎樣自己定義TabBarItem的圖片顯示
mod ren onf 自己 cli bar tarray ++ 教程 在做項目的時候,假設使用系統的UITabBarController的時候,底部的tab自己定義圖片顯示是藍色和灰色的。這不是我們所想要的效果。 假設想顯示自己定義的按下和彈起的圖片效果。這個時候就須
網上搜集的一些關於Android LOGO圖片
oid logs images ima android l roi bsp blog 技術分享 網上搜集的一些關於Android LOGO圖片
趙雅智_運用Bitmap和Canvas實現圖片顯示,縮小,旋轉,水印
bitmap raw 圖形 res efault ast bmp 運用 放置 上一篇已經介紹了Android種Bitmap和Canvas的使用,以下我們來寫一個詳細實例 http://blog.csdn.net/zhaoyazhi2129/article/details
net3:文件上傳與圖片顯示以及HiddenField隱藏字段值的使用
pos protect path 來源 file ipa gif sender uri 原文發布時間為:2008-07-29 —— 來源於本人的百度文章 [由搬家工具導入]using System;using System.Data;using System.Configu