当前位置: 代码迷 >> 移动平台 >> MTK task有关问题,
  详细解决方案

MTK task有关问题,

热度:5043   发布时间:2013-02-26 00:00:00.0
MTK task问题,急急急!
我自己创建的mtk的task,但不知道它啥时候启动,是随着MTK系统的启动,我自己的task就已经运行了吗?还是需要我做些什么才能让我的task启动?如果我要让task完成某一任务,只需按照task ID和mode把消息发送出去就可以了?

------解决方案--------------------------------------------------------
申请task之后,系统会自动启动task,申请task参照实例custom1_create。
可以发送消息的形式让task完成某一个任务。参照custom1_main这样发送:
static void
custom1_main(task_entry_struct * task_entry_ptr)
{
ilm_struct current_ilm;
#ifdef DRV_DEBUG
ilm_struct *send_ilm;

custom_print("Custom1 Send Test\n");
send_ilm = allocate_ilm(MOD_CUSTOM1);
send_ilm->src_mod_id = MOD_CUSTOM1;//发送消息的任务ID
send_ilm->dest_mod_id = MOD_CUSTOM2;//接收消息的任务ID
send_ilm->msg_id = MSG_ID_CUSTOM1_CUSTOM2;//发送消息的msg_id
msg_send_ext_queue(send_ilm);//发送消息给MOD_CUSTOM2
#endif /* DRV_DEBUG */

while ( 1 ) {
receive_msg_ext_q(task_info_g[task_entry_ptr->task_indx].task_ext_qid, &current_ilm);

switch (current_ilm.msg_id) {
case MSG_ID_CUSTOM2_CUSTOM1:
custom_print("Custom1 receive message from custom2.\n");
break;
default:
break;
}

free_ilm(&current_ilm);
}
}
  相关解决方案