MMI启动过程:

来源:互联网 发布:大卫罗宾逊体测数据 编辑:程序博客网 时间:2024/04/30 01:44

系统在TaskInit.c里创建了MMI的主要任务表:

const osl_task_create_info task_create_tbl[TOTAL_TASKS] = { {"DUM1 TASK", "DUM1 Q", 127, 128, 0, Dummy_task}, {"DUM2 TASK", "DUM2 Q", 127, 128, MAX_PRT_NODES, Dummy_task}, {"MMI TASK", "MMI Q", 127, 4096, MAX_PRT_NODES, MMI_task}, {"DUM3 TASK", "DUM3 Q", 127, 128, 0, Dummy_task}, };

接着发生了如下的函数调用过程:

1. plutommi\mmi\Framework\Tasks\TasksSrc\MMITask.c->MMI_task,整个界面是由一个任务函数启动,MMI_Task函数不断介绍ps层的消息,在收到MSG_ID_MMI_EQ_POWER_ON_IND消息后,如果是键盘开机会调用mmi_bootup_entry_disk_check(),这个调用最终会做一系列的程序初始化工作。。

2. plutommi\mmi\MiscFramework\MiscFrameworkSrc\BootupApp.c->mmi_bootup_entry_disk_check,在系统上电后执行这个函数。

3. plutommi\mmi\MiscFramework\MiscFrameworkSrc\BootupApp.c ->mmi_frm_power_on_init_procedure

4. plutommi\mmi\Framework\Tasks\TasksSrc\MMITask.c->InitializeAll,嘿嘿,又绕回来到这个模块来了。这个函数实现了很多平台初始化的工作,我加了函数让系统直接进入工程模式(可能有其它更好的办法。)

接着是应用程序初始化:

在Bootup App过程里,首先是做disk的检查,然后接着开始检查飞行模式,紧接着是启动动画显示,接着发生如下过程(可以在BootupApp.c从上看到下): 1.plutommi\mmi\MiscFramework\MiscFrameworkSrc\BootupApp.c->mmi_bootup_entry_nand_check_query()

2. plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->PowerOnBatteryIndicationComplete()

3. plutommi\mmi\MiscFramework\MiscFrameworkSrc\BootupApp.c->mmi_bootup_exit_nand_check_query()

4. plutommi\mmi\MiscFramework\MiscFrameworkSrc\BootupApp.c->mmi_bootup_entry_security_check()

5. plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->PowerOnBatteryIndicationCompletePhase2()

6. SimDetection module: plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->EntryScrEnterPhoneLock(), phone lock 屏幕入口 plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->SimPasswdReqResponse(void *inMsg) ,密码请求响应被调用 plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->mmi_ready_to_idle_screen_ind_hdlr(void *msg),即将进入idle screen时调用处理。 plutommi\mmi\MiscFramework\MiscFrameworkSrc\SimDetection.c->mmi_bootup_entry_security_check(),启动时的安全检查。

7. plutommi\mmi\IdleScreen\IdleScreenSrc\MiscFunctions.c->goto_opening_screen()

8. plutommi\mmi\Framework\Tasks\TasksSrc\MMITask.c->InitAllApplications()

原创粉丝点击