MTK task 小结 2

虽然MTK手机,是feature phone(功能机),不像symbian 6 那样可以同时运行多个应用。但是MTK还是 有许多task组成。平时MTK的后台播放MP3就是一由一个task 完成的。具体以后分析。现在来看看MTK 最主要的task,MMI task,MTK 的应用程序都是在该task里面运行,它有一整套开发MTK 应用的framework。

先来看创建MMI task的函数

kal_bool mmi_create(comptask_handler_struct **handle)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    static comptask_handler_struct mmi_handler_info = 
    {
        MMI_task,   /* task entry function */
        MMI_Init,   /* task initialization function */
        NULL,
        NULL,       /* task reset handler */
        NULL,       /* task termination handler */
    };

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    *handle = &mmi_handler_info;
    return KAL_TRUE;
}

这个函数的结构,是MTK 创建task的基本结构,系统初始化时,会调用该函数。看里面的结构体

typedef struct {
   kal_task_func_ptr    comp_entry_func;  //task 的入口函数
   task_init_func_ptr   comp_init_func;   //task 的初始化函数
   task_cfg_func_ptr    comp_cfg_func;    //task 的配置函数
   task_reset_func_ptr  comp_reset_func;  //task 的重置函数
   task_end_func_ptr    comp_end_func;    //task 的终止函数
} comptask_handler_struct;

task 的入口函数是必须的,这个函数告诉系统,初始化完相应的task 控制块后,就要进入该函数来运行。

task 初始化函数,是在进入 task 入口函数之前被调用,用来初始化可能需要的资源,可选。

task 终止函数是,当task 结束是要调用,用来释放资源,可选。

其他两个函数我也不清楚干什么,希望知道的共享下

先看MMI task 的初始化函数.

MMI_BOOL MMI_Init(task_indx_type task_indx)
{
  
    //创建一个mutex(互斥体)
    mmi_mutex_trace = kal_create_mutex("mmi_trace");
    //这个是初始化 2step 按键, 2step 按键是指 有一些按键具有半按下状态
    //比如照相功能,按下一半进行聚焦,再按下一半拍照 
    mmi_frm_get_2step_keys();

    
    //初始化timer,具体可以看 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值