我自己创建的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, ¤t_ilm);
switch (current_ilm.msg_id) {
case MSG_ID_CUSTOM2_CUSTOM1:
custom_print("Custom1 receive message from custom2.\n");
break;
default:
break;
}
free_ilm(¤t_ilm);
}
}