`
buluzhai
  • 浏览: 110238 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MMI 和L4通信

    博客分类:
  • MTK
阅读更多

1.1.       如何通信

Send/Receive messages thru the message Queue.
#define OslMsgSendExtQueue  msg_send_ext_queue
#define OslReceiveMsgExtQ    receive_msg_ext_q
SetProtocolEventHandler(FuncCB, msg_id);

1.2.       通信数据


typedef struct ilm_struct {
oslModuleType oslSrcId; // Source module ID.
oslModuleType oslDestId; // Destination module ID.
oslMsgType oslSapId; // service access point.
oslMsgType oslMsgId; // message name ID.
oslParaType *oslDataPtr; //local parameter buffer
oslPeerParaPtr *oslPeerBuffPtr; //peer buffer pointer
} ilm_struct;

1.3.       如何从MMI Queue中侦听消息

OslReadCircularQ(&Message);
OslReceiveMsgExtQ(mmi_qid, &mmi_message);

1.4.       如何在MMI 队列中写入消息

当NVRAM接收到其他消息时:
OslWriteCircularQ(&ilm_ptr);

1.5.       如何从L4C接听消息

注册一个消息回调函数
SetProtocolEventHandler(FuncCB, msg_id);
1.6.      如何向L4C 发送消息

2.        构建一个本地参数指针
3.        将请求数据填充进本地参数指针中。
4.        给结构体ilm_struct赋值。
5.        向L4C发送消息。
消息信息 = 头信息 + 数据信息
Local parameter Header info:
 #define LOCAL_PARA_HDR \
kal_uint8 ref_count; \
kal_uint16 msg_len;
peer buffer parameter Header info :
 #define PEER_BUFF_HDR \
kal_uint16 pdu_len; \
kal_uint8 ref_count; \
kal_uint8 pb_resvered; \
kal_uint16 free_header_space; \
kal_uint16 free_tail_space;

2.7.  本地参数:(local parameter)

Header info + Data info:
例如:
typedef struct {
LOCAL_PARA_HDR
kal_uint8 volume_type;
kal_uint8 volume_level;
} mmi_eq_set_volume_req_struct;

2.8.  如何创建本地参数:(动态分配内存)
OslConstructDataPtr(sizeof(mmi_at_alarm_query_res_req_struct);

2.9.  何时释放本地参数

当L4接收到消息并处理完成后,会自动释放参数。
OslFreeDataPtr(sizeof(mmi_at_alarm_query_res_req_struct);
Peer buffer parameter:
Header info + Data info
Ex: typedef struct {
PEER_BUFF_HDR
void *ptr;
} mmi_example;
分享到:
评论

相关推荐

    精通MTK嵌入式编程

    本地参数是在MMI和L4通信过程中用于传递特定上下文信息的数据结构,它们通常不跨进程传递,仅在MMI Task内部使用。 总之,精通MTK嵌入式编程意味着要深入理解MMI和L4间的通信机制,掌握硬件驱动的编写,熟悉上层...

    MTK6226平台知识归总

    本文旨在为初学者和开发者提供一个全面的理解框架,涵盖MMI(Man-Machine Interface)的整体构架、各模块功能以及与L4(Layer 4)之间的通信机制。 1. MMI的整体构架 MMI是用户界面与底层硬件通信的重要桥梁,它的...

    MMI架构和编写实例PPT

    ### MMI架构和编写实例 #### 一、MTK软件架构概览 MTK(MediaTek)作为一家全球领先的芯片设计公司,在移动通信领域拥有广泛的应用和技术积累。在介绍MMI架构之前,首先需要对MTK的整体软件架构有一个基本了解。 ...

    L4是MMI/AT和协议栈的适配层

    L4作为MMI(Man Machine Interface,人机接口)/AT(Application Terminal,应用终端)和协议栈之间的适配层,其核心作用在于提供了一个桥梁,使得高层的应用能够更加便捷地与底层的通信协议进行交互。这一层的存在...

    mmi开发事件(event)机制

    2. **协议事件**:这类事件用于底层和MMI任务之间的通信。例如,当有来电时,L4会产生INCOMING_CALL_EVENT,而MMI应用程序可能会生成CALL_ACCEPT_EVENT以响应接听电话。 3. **定时器事件**:定时器事件是由预定的...

    MMI Architecture.ppt

    4. **系统任务实例**:例如,System NVRAM任务、L4任务、MMI任务以及更多的任务,这些任务构成了MMI架构的基础。 二、任务结构与信息 1. **任务结构**:`sys_comp_config_tbl`和`custom_comp_config_tbl`数组中的`...

    LCDHome_MMI Platform Source Code Training

    在运行时,MMI使用操作系统的任务队列进行通信,例如MMI队列,用于处理不同任务间的消息传递。 **网络模拟器/L4NS/L4队列** 网络模拟器部分,如L4NS(L4 Network Simulator),可能涉及到L4网络协议栈,L4队列用于...

    MTK MMI培训资料

    - **L4层**:这是MMI与协议栈之间的适配层,主要包括L4A(用于转换来自上层的原始消息为功能调用)和L4C(协调所有L4模块以服务于上层)。 - **其他关键组件**: - **ATCI**(AT Command Interpreter):负责解析AT...

    mtk mmi文档 mt6225

    其中,RMI(远程MMI)负责PC端与协议栈间的通信,通过AT命令进行数据交互。L4层作为MMI/AT与协议栈之间的适配层,扮演了关键的桥梁角色。L4A(Layer4 Adaptation)用于将上层发送的原始数据转换为功能调用,而L4C...

    MTK开发资料文档

    它通过定义一套API供应用层调用,实现了不同层级之间的通信和交互。 3. **UI Layer(用户界面层)**:该层包含了与用户界面相关的所有函数,负责呈现图形用户界面以及处理用户的输入操作等。 4. **MMI Queue(人机...

    MTK专题集(讲述MTK各个重要功能模块).doc

    4. **MMI Queue**:这是一个关键的通信机制,协议栈或L4层将事件写入MMI Queue,然后由MMI Task读取。这确保了事件的有序处理和传输。 5. **L4/NS Queue**:MMI Task将处理后的事件写入L4/NS Queue,供L4任务或网络...

    MTK专题集(讲述MTK各个重要功能模块)

    4. **MMI Queue** (MMI队列): 用于通信协议栈或L4层向MMI任务传递事件。事件被写入MMI队列,然后由MMI任务读取并处理。 5. **L4/NS Queue** (L4/网络模拟器队列): MMI任务将事件写入此队列,供L4任务或网络模拟器...

    MTK消息分发及窗口管理

    MMI与L4层(Linux第四层)进行通信,主要通过消息队列来完成这种交互。L4层则负责对底层硬件(如处理器和驱动程序)进行抽象封装。 MMI的核心框架位于`plutommi\`目录下,主要包括消息管理和窗口管理等基本功能。这...

    MTK开发平台 手机开发实例

    ### MTK开发平台手机开发实例知识点详解 #### 标题:MTK开发平台 手机开发实例 ...通过深入理解MMI Queue、L4/NSQueue等机制,以及掌握平台提供的API和工具,开发者可以更高效地进行手机应用程序的开发。

    MTK消息分发及窗口管理机制

    MMI主要与L4层交互,而L4层则负责封装底层硬件如处理器和驱动程序等。 #### 架构层次划分 - **Software Architecture (MTK)**: MTK的整体软件架构。 - **MMI Architecture**: 具体指明MMI架构如何嵌入到MTK的软件...

    通信与网络中的基于MTK平台的短信控制远程终端实现方案

    Remote MMI允许通过AT命令进行通信,L4作为适配层,Drivers负责设备驱动,而PS/L1则涉及GSM物理层和协议栈的高层部分,如L2和L3,为应用程序提供GSM/GPRS服务。MMI作为人机交互界面,分为应用层、框架层和用户界面层...

    精通MTK嵌入式编程.pdf

    - **如何通信**:L4层与MMI之间的通信主要依赖于MMIQueue机制,即通过特定的消息队列来传递数据和指令。 - **通信数据**:通信数据通常包含控制指令、状态信息和用户输入等。 - **侦听消息**:MMI可以通过监听...

    通信与网络中的一种基于MTK平台的短信控制远程终端系统

    Remote MMI(RMI)允许通过串口和协议栈进行通信,L4作为适配层,Drivers处理各种设备驱动,而PS/L1中的L1是GSM的物理层,直接与信号数据打交道。此外,MMI则为人机交互界面,包含文字和图形界面,分为Application ...

Global site tag (gtag.js) - Google Analytics