MTK开机流程 - MMI部分

    技术2022-05-19  20

    MTK开机流程-MMI部分(VC模拟器)基于53平台09A版本,通过VC模拟器调试,整理出一条大概的MMI开机流程,后续完善。

    - 创建MMI task进程mmi_create()

    - MMI task初始化MMI_Init()mmi_frm_init_key_event()   // 按键初始化L4InitTimer()              // 计时器初始化setup_UI_wrappers()        // WGUI初始化mmi_fe_init()              // 字体初始化

    - MMI task接收消息事件MMI_task()InitEventHandlersBeforePowerOn()  // 事件初始化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){  ...  case MSG_ID_MMI_EQ_POWER_ON_IND:               // 开机事件  break;  ...}SetDateTime()                   // 设置时间gdi_init()                      // GDI初始化switch (p->poweron_mode){  ...  case POWER_ON_KEYPAD:        // 按键开机  ...}MTPNP_AD_Init()                // AD初始化,还不太清楚PhnsetSetUARTConfig()          // UART配置DTGetRTCTime(&StartUpTime);    // 获取开机时间

    - MMI 启动流程mmi_bootup_start()mmi_bootup_entry_disk_check()      // 磁盘检查mmi_frm_power_on_init_procedure()  // 开机初始化FlightModeCheckBeforeAnimation()   // 检测飞行模式InitializeAll()                    // APP初始化InitNvramDataBeforeAnimation()     // NV初始化

    - APP初始化InitializeAll()InitUnicodeSupport()      // Unicodegdi_init()                // GDImdi_audio_init()          // AUDIOmdi_init()                // MDImdi_webcam_init()         // 网络摄像头InitMMIUsbContext()       // USBInitProtocolEvents()      // Protocol EventInitFramework()           // FrameworkInitHardwareEvents()      // Protocol EventInitTime()                // Date Timesetup_UI_wrappers()       // WGUIPopulateResData()         // 资源文件,包括字符串、图片、音频等PowerAndEndKeyHandler()   // Power And End Key HandleInitStringLanguage()      // 多国语言mmi_um_init()             // 短消息mmi_dispatch_init()       // 彩信InitCallManagement()      // 通话记录mmi_vt_init()             // Video Telephonymmi_ucm_init()            // 呼叫initialize_UI_demo()      // UI环境InitNetWorkBootUpEventsCallBack()  // 网络InitProfileApp()          // 情景模式InitSimDetection()        // SIM卡 短消息...

    - 初始化完成后,开机动画switch (p->poweron_mode){  ...  default:  ProtocolEventHandler(...);  break;     // 默认处理  ...}MTPNP_AD_Bootup()mmi_bootup_dual_sim_start()                // SIM卡mmi_bootup_dual_sim_start_bootup_by_mode() // SIM卡MTPNP_PFAL_Master_Startup_Normal()         // SIM卡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()          // 动画完成回调EntryPhnseFactoryDefaultCalibrationScr() // 屏幕校准mmi_bootup_exit_animation()              // 动画结束mmi_bootup_entry_low_battery_warning()   // 检查电量mmi_bootup_entry_security_check()        // 安全检查,包括SIM卡密码,SIM卡是否可用等goto_opening_screen()InitAllApplications()                 // 重复初始化,直接returnexit_custom_startup_screen()          // 退出动画ShowWelcomeScr()                      // 显示welcom界面ShowIdleAppSubLcd()                   // 显示子屏mmi_bootup_exit_welcome_screen()      // 退出welcom界面mmi_bootup_entry_network_searching()  // 搜网EntryIdleScreen()                     // 进入待机界面


    最新回复(0)