2010年12月29日 星期三

MTK TASK 筆記

1.開機後要跑幾個task:Syscomp_config.c (MCU\config\src)
sys_comp_config_tbl是一個task的initial table,裡面define了許多task的XXXX_create function名稱,例如nvram_create、mmi_create、l4_create。


透過載入這個table,執行各個task的「建立」(應該是有生出task的意思存在),接著各個task再有自己的main,再去做其初始化的動作、handler這一類的。


2.以l4_create function為例,function內容如下:(MCU\ps\l4\src\L4_create.c)


kal_bool l4_create(comptask_handler_struct **handle) { static const comptask_handler_struct l4_handler_info = { layer4_task_main, /* task entry function */ layer4_init, /* task initialization function */ NULL, /* task configuration function */ l4_reset, /* task reset handler */ NULL, /* task termination handler */ }; *handle = (comptask_handler_struct *)&l4_handler_info; return KAL_TRUE; }


在l4_create()裡面,建立了一個資料型態為comptask_handler_struct的變數l4_handler_info,
裡面指定了一個task的對應行為function。


layer4_task_main()是layer 4的main function,裡面跑著一個while (1)的 infinite loop,來處理各種的message,透過process_ilm(),再去執行對應message 的main。

4 則留言:

  1. 哈嘍,看到你的博文,有幾個問題請教。請方便的時候可不可以加我的MSN:julia_zhao09@hotmail.com

    回覆刪除
  2. 你好,我已經把你加入了哦!

    回覆刪除
  3. 我有加你了,不過一直顯示是離線呢!不然請你加我一下
    alvin0315(AT)hotmail.com

    請把(AT)換成小老鼠

    回覆刪除