MTK开机流程-MMI部分(VC模拟器)
05-08
好东西,多传传~~~~~~~~~~~~
基于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() // Unicode
gdi_init() // GDI
mdi_audio_init() // AUDIO
mdi_init() // MDI
mdi_webcam_init() // 网络摄像头
InitMMIUsbContext() // USB
InitProtocolEvents() // Protocol Event
InitFramework() // Framework
InitHardwareEvents() // Protocol Event
InitTime() // Date Time
setup_UI_wrappers() // WGUI
PopulateResData() // 资源文件,包括字符串、图片、音频等
PowerAndEndKeyHandler() // Power And End Key Handle
InitStringLanguage() // 多国语言
mmi_um_init() // 短消息
mmi_dispatch_init() // 彩信
InitCallManagement() // 通话记录
mmi_vt_init() // Video Telephony
mmi_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() // 重复初始化,直接return
exit_custom_startup_screen() // 退出动画
ShowWelcomeScr() // 显示welcom界面
ShowIdleAppSubLcd() // 显示子屏
mmi_bootup_exit_welcome_screen() // 退出welcom界面
mmi_bootup_entry_network_searching() // 搜网
EntryIdleScreen() // 进入待机界面
"ask">谢谢 好东西
基于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() // Unicode
gdi_init() // GDI
mdi_audio_init() // AUDIO
mdi_init() // MDI
mdi_webcam_init() // 网络摄像头
InitMMIUsbContext() // USB
InitProtocolEvents() // Protocol Event
InitFramework() // Framework
InitHardwareEvents() // Protocol Event
InitTime() // Date Time
setup_UI_wrappers() // WGUI
PopulateResData() // 资源文件,包括字符串、图片、音频等
PowerAndEndKeyHandler() // Power And End Key Handle
InitStringLanguage() // 多国语言
mmi_um_init() // 短消息
mmi_dispatch_init() // 彩信
InitCallManagement() // 通话记录
mmi_vt_init() // Video Telephony
mmi_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() // 重复初始化,直接return
exit_custom_startup_screen() // 退出动画
ShowWelcomeScr() // 显示welcom界面
ShowIdleAppSubLcd() // 显示子屏
mmi_bootup_exit_welcome_screen() // 退出welcom界面
mmi_bootup_entry_network_searching() // 搜网
EntryIdleScreen() // 进入待机界面
"ask">谢谢 好东西
ding le
学习,good。
向小编学习!
好东西啊,感谢小编!
研究深入啊
好东西,顶一个
谢谢分享,订一个
谢谢无私的奉献
好东西啊!
顶一下
嗯,不错
值得收藏
尚可...
谢谢你 啊
支持一下。收藏么
小编这个不顶你,对不住你啊~~顶一个~!
向小编致敬
感谢分享
恩,不错,小编总结的不错。
收藏了~~~~
开机流程分为:1、PMIC部分的工作正常;2、功能部分的工作正常;3、os部分的工作正常;你所说的这部分MMI部分是属于哪一个部分的?同时,你所说的这个流程是否按照开机的顺序进行的,感觉有部分好像有重复了。
不错 学习了
好东西,顶一下
好东西 感谢分享
好好研究一下,感谢群主
看不懂
精神可嘉!
相关文章:
- LTE终端CSFB时的工作流程谁来做(05-08)
- 6260 编译模拟器问题,请进来看看(05-08)
- MTK模拟器问题,求助(05-08)
- mt6589 pcb板无法开机(05-08)
- 6250D 下载了不开机!1(05-08)
- MTK6572平台开机白屏问题,急!(05-08)
射频专业培训教程推荐