1.判斷手機中是否插入 SIM卡:
方法 1 :判斷標誌 gInsertSimAppFlag 是否為 1 ,為 1 時,有 SIM 卡,為 0 時,無 SIM 卡
方法 2 : if(g_pwr_context.PowerOnSIMStatus & MMI_SIM_STATUS_NOT_INSERT) return FALSE;
else return TRUE;
方法 3 : IsSATPresent ();為 0 時無 SIM 卡,為 1 時有 SIM 卡
方法 4 :判斷 DRV_Reg(SIM_CTRL) 的值,為 1 時有 SIM 卡,為 0 時,無 SIM 卡。
方法 5 : MTPNP_BOOL MTPNP_PFAL_Is_Card1Absent(void);
MTPNP_BOOL MTPNP_PFAL_Is_Card2Absent(void)
2011年1月3日 星期一
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。
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。
2010年12月22日 星期三
MTK UART筆記
1. 跟PC tool溝通是透過UART下command,格式跟AT command一樣,解析輸入的command type,再執行對應的handler。
dt_create()->dt_task_main()->dt_process_one_cmd ()->dt_cmd_processor ()->
檔案:
Dt_create.c (MCU\ps\dt\src)
Dt_analyzer.c (MCU\ps\dt\src)
dt_create()->dt_task_main()->dt_process_one_cmd ()->dt_cmd_processor ()->
檔案:
Dt_create.c (MCU\ps\dt\src)
Dt_analyzer.c (MCU\ps\dt\src)
訂閱:
文章 (Atom)