今天继续昨天的,说一下task之间的消息发送。
task 之间发送消息,第一是要添加一个消息 id,在custom_sap.h里面,
/* Add customization message id here */ MSG_ID_CUSTOM1_CUSTOM2 = CUSTOM_MSG_CODE_BEGIN, MSG_ID_CUSTOM2_CUSTOM1, MSG_ID_MSG_TEST, //添加了一个消息id
接下来是发送MTK 发送消息是mod 到 mod,因为mod是挂载到task上,那么最终还是发送到task上。
MTK 发送消息是有一套固定的接口,对消息实体也有固定要求。
消息的主体是 ilm_struct 结构:
typedef struct ilm_struct { module_type src_mod_id; //源 mod id module_type dest_mod_id; //目的 mod id sap_type sap_id; // Service Access Pointer Identifier 不清楚干什么用的 msg_type msg_id;
MTK task 小结 5
最新推荐文章于 2020-04-27 18:53:53 发布
本文详细介绍了MTK平台任务(task)之间如何发送消息。消息发送涉及添加消息ID,使用特定接口及ilm_struct结构体。消息主体通过allocate_ilm函数从内存池分配,避免频繁内存操作。在实际应用中,可通过扩展ilm_struct来承载具体消息信息,并使用特定函数进行消息发送,外部消息队列允许任务挂起等待,而内部消息队列则不会。
摘要由CSDN通过智能技术生成