開機第一張圖片:linux
圖片位置:android
linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logospa
因為 project 選用 FHD 屏幕因此code
在linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/fhdorm
file name is :blog
fhd_uboot.bmpip
code 位置:get
第1圖是在 lk phase 顯示的。animation
linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6755/platform.cit
538 void platform_init(void) 539 { ... ... ... 793 #endif 794 } else if (g_boot_mode != KERNEL_POWER_OFF_CHARGING_BOOT && g_boot_mode != LOW_POWER_OFF_CHARGING_BOOT) { 795 if (g_boot_mode != ALARM_BOOT && (g_boot_mode != FASTBOOT)) { 796 #ifndef MACH_FPGA_NO_DISPLAY 797 // 798 // here display 799 // 801 mt_disp_show_boot_logo(); 802 #endif 803 } 804 } 805 #else 806 if (g_boot_mode != ALARM_BOOT && (g_boot_mode != FASTBOOT)) { 807 #ifndef MACH_FPGA_NO_DISPLAY 812 mt_disp_show_boot_logo(); 813 #endif 814 } 815 #endif 816 #ifdef LK_PROFILING 817 time_backlight = get_timer(0); 818 #endif ... ... ... }
linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6755/mt_logo.c
267 void mt_disp_show_boot_logo(void) 268 { 269 int logo_index = 0; 270 int x = 0; 271 char* test = NULL; 272 273 dprintf(INFO, "[lk logo: %s %d]\n",__FUNCTION__,__LINE__); 274 mt_logo_get_custom_if(); 275 276 #if defined(MTK_CARRIEREXPRESS_PACK) 277 #if 0 // test 278 test = (char *)get_env("VAIBHAV"); 279 if (test == NULL) { 280 dprintf(INFO, "[lk logo: SysEnv is not set]\n"); 281 if (set_env("VAIBHAV","5") == 0) { 282 dprintf(INFO, "[lk logo: SysEnv set to 5 Succesfully]\n"); 283 x = 1; 284 } else { 285 dprintf(INFO, "[lk logo: SysEnv set fails!!!]\n"); 286 return; 287 } 288 } else { 289 dprintf(INFO, "[lk logo: SysEnv already set to %d]\n",atoi(test)); 290 } 291 #endif 292 logo_index = get_logo_index(); 293 /*if(x == 1){ 294 logo_index = 0; 295 dprintf(INFO, "[lk logo: First Boot So show OM logo]\n"); 296 }*/ 297 dprintf(INFO, "[lk logo: Final logo_index: %d]\n",logo_index); 298 #endif 299 300 if (logo_cust_if->show_boot_logo) { 301 306 logo_cust_if->show_boot_logo(); 307 } else { 308 // 309 // here display logo 310 //
312 ///show_logo(0); 313 init_fb_screen(); 314 fill_animation_logo(logo_index, mt_get_fb_addr(), mt_get_tempfb_addr(), logo_addr, phical_screen); 315 mt_disp_update(0, 0, CFG_DISPLAY_WIDTH, CFG_DISPLAY_HEIGHT); 316 } 317 318 return; 319 }
第二張開機圖片
圖片位置:
linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo
因為 project 選用 FHD 屏幕因此
在linux_repo/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/fhd
file name is :
fhd_kernel.bmp
第2張圖是在 android init 時顯示的。
init process 呼叫,顯示第2張 開機圖片
linux_repo/device/mediatek/mt6755/init.mt6755.rc
819 # Update the second boot logo 820 service bootlogoupdater /vendor/bin/boot_logo_updater 821 class core 822 oneshot
// 若第一張圖片和第二張圖片是一樣的,
// 則能夠將 下列部份 display 圖片 的 code mark 掉,
// 能夠減少約 0.1 second 的 開機時間。
linux_repo/vendor/mediatek/proprietary/external/boot_logo_updater/boot_logo_updater.c
183 int main(void) 184 { 185 SLOGD("[boot_logo_updater %s %d]boot_logo_updater,\n",__FUNCTION__,__LINE__); 186 int ret = update_boot_reason(); 187 if (ret == 1) { 188 SLOGE("[boot_logo_updater]skip the boot logo!\n"); 189 set_int_value(LCD_BACKLIGHT_PATH, 120); 190 return 0; 191 } else if (ret == 2) { 192 SLOGD("[boot_logo_updater]schedule on\n"); 193 } 194 // set parameter before init 195 set_draw_mode(DRAW_ANIM_MODE_FB); 196 anim_init(); //
// here display logo
// 198 show_kernel_logo(); 199 anim_deinit(); 200 201 return 0; 202 }
linux_repo/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
984 /* 985 * Show kernel logo when phone boot up 986 * 987 */ 988 void show_kernel_logo() 989 { 990 if (MTK_LOG_ENABLE == 1) { 991 SLOGD("[libshowlogo: %s %d]show kernel logo, index = 38 \n",__FUNCTION__,__LINE__); 992 } 993 if (error_flag == 0) { 994 #if defined(MTK_CARRIEREXPRESS_PACK) 995 anim_show_logo(get_logo_index(false)); 996 #else //
// here display logo
// 997 anim_show_logo(kernel_logo_position); 998 #endif 999 } 1000 }
開機動畫
linux_repo/frameworks/base/core/res/assets/images/
file name :
android-logo-mask.png
android-logo-shine.png
未完待續