MTK6225资源加载过程

 

MMI_task()

 

InitializeAll()

 

PopulateResData()

                                                

       PopulateMainMenuRes():此函数一共有3个,GW606执行的是第二个。即宏                     __MMI_BI_DEGREE_MAIN_MENU_STYLE__关闭;宏__MMI_VERSION_2__打                    开。加载主菜单的MENU资源。

       ADD_APPLICATION_MENUITEM((IDLE_SCREEN_MENU_ID,0,9,

              MAIN_MENU_PHONEBOOK_MENUID,   电话簿

              MAIN_MENU_MESSAGES_MENUID,              消息

              MAIN_MENU_CALL_HISTORY,                通话记录

              MAIN_MENU_SETTINGS_MENUID,              功能设置

              MAIN_MENU_MULTIMEDIA_MENUID,          多媒体娱乐

              MAIN_MENU_FILE_MNGR_MENUID,            文件管理

              MAIN_MENU_PROFILES_MENUID,               情景模式

              MAIN_MENU_EXTRA_MENUID,                    工具箱

              MAIN_MENU_SERVICES_MENUID,         网络服务

              0,INSERTABLE,

              MATRIX_MENU,

              MAIN_MENU_MENU_TEXT,MAIN_MENU_PHONEBOOK_ICON));

       然后还设置了每一个MENU的菜单,以下是[功能设置]的MENU。

       ADD_APPLICATION_MENUITEM((

                     MAIN_MENU_SETTINGS_MENUID,

                     IDLE_SCREEN_MENU_ID,

                     8,

                     MENU9102_INITIAL_SETUP,                                        话机设置

                     MENU8237_SCR8093_MNGCALL_MENU_MAIN,           通话设置

                     MENU9185_NETWORK_SETUP,                             网络设置

                     SERVICES_DATA_CONNECT_MAIN_MENU_ID,           GPRS连接设置

                     MENU9101_SECURITY,                                                 安全设置

                     MENU_SETTING_RESTORE,                                        恢复出厂设置

                     MENU_SETTING_SOUND_EFFECT,                             音效

                     MENU_CONN_BT_MAIN,                                             蓝牙                                          0,MOVEABLEWITHINPARENT|INSERTABLE,1,

                     MAIN_MENU_SETTINGS_TEXT,

                     MAIN_MENU_SETTINGS_ICON));

 

    PopulateIdleMenuRes()

       PopulatePbResData()

       PopulateMainDemoRes()

       populateSettingMenu()装载【功能设置】里面的各个子MENU的详细菜单。

              PopulateFontSizeResData();

              PopulateGPIOSettingResData()

              PopulateNetworkSetupResData();

           populateManageCalls();装载【通话设置】中的各个子MENU和字串

                            ADD_APPLICATION_MENUITEM((

                                   MENU8237_SCR8093_MNGCALL_MENU_MAIN,

                        MAIN_MENU_SETTINGS_MENUID,

                                   9,

                    MENU_CALLER_ID,                                              本机号码

                    MENU8237_SCR8093_MNGCALL_MENU_WAIT,    呼叫等待      

                    MENU8237_SCR8093_MNGCALL_MENU_FWD,     呼叫转移

                    MENU8237_SCR8093_MNGCALL_MENU_BARRING,     呼叫限制                                         

                    MENU_SETTING_CALL_REMINDER,                    通话时间提示

                    MENU_SETTING_CALL_TIME_DISPLAY,              通话时间显示

                    MENU9140_AUTO_REDIAL,                                  自动重拨

                    MENU_SETTING_IP_NUMBER,                      IP拨号

                    MENU_SETTING_BLACK_LIST,                            来电警卫

                    SHOW, MOVEABLEWITHINPARENT, DISP_LIST,                                                         STR_SCR8093_MNGCALL_MENU_CAPTION,

                    IMG_SETTING_CALL_SETUP));

                            然后调用:    PopulateCallWait();

                                              PopulateCallForward();

                                              PopulateCallBarring();

                                              PopulateCallerId();

                                                 PopulateIPNumber()

                                                 PopulateBlackList();分别装载每一个MENU和字串

           PopulatePhoneSetupResData();

           populateSecuritySetup();

           PopulateLanguageStrings();

           PopulateSoundEffectResData();

           PopulateFlightModeResData();

              PopulateConnectSetting();

      

       populateFunAndGamesMenu()

       PopulateSimDetectionMenuRes()

       。。。

       PopulateCmResData();装载电话管理中的各种资源:菜单和字串

              装载在各种通话状态下,发生INCOMING CALL EVENT时的左软件菜单和字串;

              PopulateCmOutResData(); 装载正常通话时的左软件菜单和字串。

              PopulateCmRedialScrData();装载自动重拨的一些菜单和字串,,目前为空。

       。。。

       PopulateMessagesResData()

 

二、初始化过程(主要是设置菜单的Hilite函数,以及各种初始变量、参数等)

初始化过程说明:

The Initialise function of the application should be called from InitializeAll if the

application has to be initalised before boot up like Sim Application ToolKit, Call

Management, Profiles, etc.

If it is not required before boot up it should be called from InitAllApplications.

即:初始化函数在两个地方调用:InitializeAll()和InitAllApplications()。下面的函数InitCallManagement()之所以要在InitializeAll()中被初始化,是考虑到紧急电话。

 

MMI_Task()

 

       InitializeAll()

 

              PopulateResData()就是上面的加载资源的函数

              InitCallManagement()初始化通话管理

                     InitIncomingCall();

                                   ReinitalizeIncomingCall();设置一些CBACK函数

                                   设置来电时一些Hilite函数

                  InitOutGoingCall();

                                   ReinitializeOutgoingCall();设置一些CBACK函数

                                   设置正常通话时一些Hilite函数

                  memset (cm_p, 0, sizeof(cm_context_struct));

                  ResetGlobalValues();

              InitHWBacklightTest();

           InitCallLogs();

       InitAllApplications()

                     mmi_phb_sos_list_init();

                  initalize_main_menu_application();

                     InitSettingApp();初始化【功能设置】里面各个菜单的Hilite函数

                                   InitManageCalls();设置【通话设置】中个菜单的Hilite函数

                                                 InitCallerId();

                                              InitCallWaiting();

                                              InitCallForwarding();

                                              InitCallBarring();

                                              InitLineSwitch();

                                              InitGroupListApp();

                                                 InitIPNumber();

                                                 InitBlackList();

                                InitNetworkSetupApp();

                                InitSecuritySetupApp();

                                PhnsetInitTimeNDate();

                                InitFixedDialList();

                                。。。。。。

                                  

                     mmi_fng_init_app();

                     mmi_phb_init();

                     InitCallCost();

                  InitCallHistory();

   本文为结合项目学习MTK的笔记,如有错误,请不吝赐教!谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOT物联网小镇

赏点银子去植发

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值