《mtk架构分析》ppt课件

《mtk架构分析》ppt课件

ID:40011722

大小:3.51 MB

页数:34页

时间:2019-07-17

《mtk架构分析》ppt课件_第1页
《mtk架构分析》ppt课件_第2页
《mtk架构分析》ppt课件_第3页
《mtk架构分析》ppt课件_第4页
《mtk架构分析》ppt课件_第5页
资源描述:

《《mtk架构分析》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MTK架构分析MTK架构分析作者:康勤开发日期:2005.2.21康佳学院KONKAGROUPKONKACOLLEGE康佳学院Framework介绍启动流程Queue相关Event相关History相关启动流程在InitApplication();函数中创建了几个线程,用这几个线程来模拟手机中的不同的任务线程。并且为这些任务创建了不同的消息队列。这些创建的线程中其中有一个是主要的,此线程的入口函数是MMI_task。启动流程函数MMI_task主要完成的是不停的读取protocoltask中的消息,然后根据消息和参数进行相应的处理函数。在函数MMI_task里读取了消息后,

2、用一个switch语句来选择处理方式。当系统收到这个消息MSG_ID_MMI_EQ_POWER_ON_IND时候,系统根据当前系统的状态来决定启动的方式启动流程正常启动(用户按键盘启动)中首先调用了函数InitializeAll,这个是系统启动的初始化函数。接着函数InitNvramData,让一些需要读nvram的模块读出nvram中的数据,以此来初始化这些需要用到nvram中的数据来初始化的模块。启动流程初始化后调用函数fast_openscreen,这个函数就是系统启动后进入主屏幕的函数。在fast_openscreen里开始就播放开机动画及声音,点亮显示屏,并且设置

3、好当开机画面播放完后需要执行的回调函数。当动画播放结束就直接调用此回调函数。启动流程最后进入EntryIdleScreen函数,这个函数就是程序的初始界面。并且在里面把左软键设置为进入主菜单,右软件设置为进入电话本。到这里,一个启动过程总算结束了,以后的事情都交给注册好的事件响应函数和菜单响应函数去做。Queue相关在InitApplication()时,我们创建不同的线程,同时创建不同的线程所对应的消息队列。全局数组task_info_g1是一个osl_task_info类型的数组,此类型有个成员变量task_ext_qid,它是oslMsgqid类型的。就是这个变量保存

4、着消息队列指针。Queue相关发消息函数OslIntMsgSendExtQueue向协议栈写入消息。这个函数向协议栈写入一个MYQUEUE类型的消息,这个消息是由用户自己定义的。操作接口函数:从队列中收消息OslReceiveMsgExtQ和向队列发消息OslMsgSendExtQueue,消息是一个MYQUEUE结构类型,它包含发出消息者和消息要到达的地方。Queue相关一般来讲消息发起者和消息要到达的地方是FRAMEWORK或者PROTOCOSTACK/L4,前者发出消息让硬件执行某些操作,而后者的消息是硬件发出来的,需要软件来进行响应,比如按键按后需要执行的操作。MY

5、QUEUE结构类型除了包含发起和接收者外,还包含消息类型号,用于指示消息的用途的,还有一个oslDataPtr指针,它是一些数据块的指针,指向响应函数需要用到的数据。Queue相关Event相关按照event对消息响应的不同,我们可以把它分为两大类:一类是对协议栈和硬件中断消息的响应,一类是对菜单高亮时和显示提示时进行消息响应。看这两类消息的来源,我们也可以说这两类事件分别响应的是硬件消息和软件消息。Event相关协议栈和硬件中断event这类事件的管理主要是对两个结构数组的管理,也可以认为是两条链。它们的结构类型都只是包含了两个成员变量,一个是ID,一个是入口函数指针。这

6、两个数组的名称分别是protocolEventHandler和interruptEventHandler。Event相关在发消息前往往常常会用到这个函数SetProtocolEventHandler。这个函数的作用是设置一个函数对某个硬件消息进行响应。道ExecuteCurrProtocolHandler函数完成了其响应过程。当有消息到时,有时还会有对应消息的ExecuteCurrProtocolHandler函数根据消息ID在两个数组中检索相应的响应函数指针,当检索得到函数指针后把参数MsgStruct传给函数指针让其去执行,这样就完成了对消息的响应过程。Event相关对

7、菜单高亮和显示提示的消息响应的管理也是通过一个数组来完成的。这个数组是maxHiliteInfo,它是一个hiliteInfo结构类型,其中只包含两个响应函数入口地址,一个是菜单高亮显示时需要转到的入口,一个是提示出现时需要转入的入口。它和protocolEventHandler不同,它的结构里面不包含索引用的ID,而是以它的下标作为索引,而且都是以菜单资源的ID号来做下标。Event相关用SetHiliteHandler函数把菜单和菜单高亮显示执行的函数联系起来,这个函数就是这个作用,把自己定义的函数的地址赋值给

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。