MTK MMI启动过程分析

本文详细分析了MTK平台的MMI启动过程,从TaskInit.c创建任务表开始,经过MMI_task函数,到mmi_bootup_entry_disk_check()的调用,涉及硬盘检查、安全检查和飞行模式检测。在启动过程中,系统会进行应用程序初始化,包括disk检查、启动动画、安全检查和SimDetection模块的密码请求响应,最终进入idle屏幕。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在取得MTK的06B版本代码后,开始进行了艰苦的代码分析工作,我的工作是把一个手机的MTK的代码移植到另外一个手机上,在改了custom部分代码后,系统虽然可以正常启动,但LCD是白屏,没有任何界面显示。

 

由于没有仿真器可以使用,只能通过阅读代码和调试进行,尤其是和硬件有关的信息也需要更多功夫去理解。略去硬件平台的定制代码,因为那是custom里所定义的一些驱动初始化的工作,最复杂的部分还是在plutommi这个代码目录里。

 

MMI启动过程:

 

系统在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层的消息,在收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值