本文主要是介绍MTK开机流程 - MMI部分(VC模拟器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MTK开机流程-MMI部分(VC模拟器)
基于53平台09A版本,通过VC模拟器调试,整理出一条大概的MMI开机流程,后续完善。
- 创建MMI task进程
mmi_create()
- MMI task初始化
MMI_Init()
mmi_frm_init_key_event()
L4InitTimer()
setup_UI_wrappers()
mmi_fe_init()
- MMI task接收消息事件
MMI_task()
InitEventHandlersBeforeP
MMI_MTPNP_master_init()以及MMI_MTPNP_slave_init() // 主副SIM卡初始化
msg_get_ext_queue_info()
mmi_frm_fetch_msg_from_extQ_to_circularQ()
OslNumOfCircularQMsgs()
OslReadCircularQ()
switch (Message.msg_id)
{
}
SetDateTime()
gdi_init()
switch (p->poweron_mode)
{
}
MTPNP_AD_Init()
PhnsetSetUARTConfig()
DTGetRTCTime(&StartUpTime);
- MMI 启动流程
mmi_bootup_start()
mmi_bootup_entry_disk_check()
mmi_frm_power_on_init_procedure()
FlightModeCheckBeforeAni
InitializeAll()
InitNvramDataBeforeAnima
- APP初始化
InitializeAll()
InitUnicodeSupport()
gdi_init()
mdi_audio_init()
mdi_init()
mdi_webcam_init()
InitMMIUsbContext()
InitProtocolEvents()
InitFramework()
InitHardwareEvents()
InitTime()
setup_UI_wrappers()
PopulateResData()
PowerAndEndKeyHandler()
InitStringLanguage()
mmi_um_init()
mmi_dispatch_init()
InitCallManagement()
mmi_vt_init()
mmi_ucm_init()
initialize_UI_demo()
InitNetWorkBootUpEventsC
InitProfileApp()
InitSimDetection()
...
- 初始化完成后,开机动画
switch (p->poweron_mode)
{
}
MTPNP_AD_Bootup()
mmi_bootup_dual_sim_start()
mmi_bootup_dual_sim_start_bootup_by_mode() // SIM卡
MTPNP_PFAL_Master_Startup_Normal()
PowerOnNormalMode()
mmi_bootup_entry_animation()
mmi_pwron_entry_animation_screen()
gui_start_timer(force_stop_time, mmi_pwron_force_terminate_display) // 设置强制关闭动画计时器
mmi_pwron_show_image_callback()
EntryPhnseFactoryDefault
mmi_bootup_exit_animation()
mmi_bootup_entry_low_battery_warning()
mmi_bootup_entry_security_check()
goto_opening_screen()
InitAllApplications()
exit_custom_startup_screen()
ShowWelcomeScr()
ShowIdleAppSubLcd()
mmi_bootup_exit_welcome_screen()
mmi_bootup_entry_network_searching()
EntryIdleScreen()
这篇关于MTK开机流程 - MMI部分(VC模拟器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!