- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MTK 消息分发及窗口管理
李波
2008-01-04
一、一、 总体结构总体结构
一一、、 总体结构总体结构
1. Software Architecture
MediaTek Inc. (MTK)
2. MMI Architecture
MTK 平台采用的是Pixtel Communications,Inc. 的PIXTEL MMI (现已被MTK 收购,作
为 MTK 印度研发中心)。MMI 的基本工作方式是消息驱动,整个 MMI 就是一个任务,不
停的从消息队列中取出消息进行处理。
MMI 只与 L4 层打交道,两者通过消息队列交互。L4 层提供了所有对底层 (PS 和驱动)
的封装。MMI 目录位于plutommi\ 。
Framework 是 MMI 的基本功能部分,提供消息管理(Event Handler )、窗口管理 (History
Manager )等基本功能,驱动整个MMI 的运作。Framework 目录位于plutommi\mmi\Framework\
二、二、 消息分发消息分发
二二、、 消息分发消息分发
消息 (事件)ID 定义文件:
adaptation\include\stack_msgs.h 定义了所有消息类型 typedef enum {…}msg_type;
interface\mmi\mmi_sap.h interface\ps\cc_sap.h sms_sap.h ……
plutommi\mmi\AsyncEvents\AsyncEventsInc\ProtocolEvents.h 再取别名
事件处理实现文件:
plutommi\mmi\Framework\EventHandling\EventsSrc\Events.c
事件功能初始化:
InitEvents()
InitFramework()
InitializeAll()
MMI_task()
任务消息结构:
adaptation\include\app_ltlcom.h
typedef struct ilm_struct {
module_type src_mod_id;
module_type dest_mod_id;
sap_type sap_id;
msg_type msg_id;
local_para_struct *local_para_ptr;
peer_buff_struct *peer_buff_ptr;
} ilm_struct;
#define oslSrcId src_mod_id
#define oslDestId dest_mod_id
#define oslSapId sap_id
#define oslMsgId msg_id
#define oslDataPtr local_para_ptr
#define oslPeerBuffPtr peer_buff_ptr
在由 SetProtocolEventHandler() 设置的消息回调函数中传入的只是 local_para_struct
*local_para_ptr 部分,具体定义参见文件:
ps\l4\include\mmi_msg_struct.h
从 MMI 消息队列中读消息:
U8 OslReadCircularQ(void *msgPtr)
#define OslReceiveMsgExtQ receive_msg_ext_q
kal_status receive_msg_ext_q ( kal_msgqid task_ext_qid, ilm_struct *ilm_ptr )
向L4C 消息队列中发送消息:
#define OslMsgSendExtQueue OslIntMsgSendExtQueue
void OslIntMsgSendExtQueue ( MYQUEUE *Message )
Framework 提供给上层的事件可分为四类:
1. PS 事件
2. Keypad 事件
3. Highlight 事件
4. Timer 事件
PS 事件事
文档评论(0)