互芯平台整合说明
1.拷贝文件
1.首先是拷贝“kscgame”目录到目标工程中的“application\coolmmi”目录下;
2.修改application\coolmmi 下的makefile文件,在“LOCAL_MODULE_DEPENDS :=”下面添加
LOCAL_MODULE_DEPENDS += application/coolmmi/kscgame。
3.修改根目录下的(soft下面的)makefile文件,在该文件中的最后一个LOCAL_EXPORT_FLAG下方
添加以下代码:
KSC_SUPPORT := YES
ifeq "$(strip ${KSC_SUPPORT})" "YES"
LOCAL_EXPORT_FLAG += HX_PLAT_0812
LOCAL_EXPORT_FLAG += __KSC_UPI__
LOCAL_EXPORT_FLAG += PD_QEGG_DEF
#LOCAL_EXPORT_FLAG += __KSC_DBG__
Endif
4,添加字符串ID到application\mmi_customer\ResGenerator\ref_list.txt文件
2.修改文件
2.1.添加定时器基础ID
修改…\plutommi\mmi\inc\timerevents.h文件在MMI_TIMER_IDS 枚举的MAX_TIMERS 前加:#ifdef __KSC_UPI__
KMW_TIMER_BASE,
KMW_TIMER_END = KMW_TIMER_BASE + 128,
KSC_TIMER_BASE,
KSC_TIMER_END = KSC_TIMER_BASE + 32,
PDF_TIMER_BASE,
PDF_TIMER_END = PDF_TIMER_BASE +20,
#endif
2.2.添加NVRAM数据定义
修改文件nvram_user_defs.h 在nvram_lid_cust_enum 枚举的NVRAM_EF_LAST_LID_CUST前加:#ifdef __KSC_UPI__
NVRAM_EF_KSC_VRAM_ID,
#endif
修改nvram_user_config.c文件在logical_data_item_table_cust的最后添加:
#ifdef __KSC_UPI__
,{
NVRAM_EF_KSC_VRAM_ID, /** LID **/
32, /** Size **/
200, /** Total **/
NVRAM_NORMAL(NVRAM_EF_ZERO_DEFAULT), /** Default value **/
NVRAM_ATTR_A VERAGE, /** Attributes **/
NVRAM_CATEGORY_USER, /** Category **/
NVRAM_DRV_FDM,
"KSC", /** fileprefix 最多4字节**/
"000", /** fileverno 最多3字节**/
"KSC VRam\0", /** description **/
NVRAM_INV ALID_V ALUE /** Record ID is calculated by NVRAM. DO NOT TOUCH. **/ }
#endif
2.3.添加初始化定义
修改…\ application\coolmmi\main\src\MMITask.c文件
在InitAllApplications函数的末尾处加:
#ifdef __KSC_UPI__
{
extern void KSCApInit(int flag);
KSCApInit(2);
}
#endif
在InitInsertSimApp 函数的末尾处加:
#ifdef __KSC_UPI__
{
extern void KSCApInit(int flag);
KSCApInit(2);
}
#endif
在InitializeAll函数的末尾处加:
#ifdef __KSC_UPI__
{
extern void KSCApInit(int flag);
KSCApInit(1);
}
#endif
2.4.添加高级模式入口
在plutommi\mmi\IdleScreen\IdleScreenSrc\IdleApp.c的IdleAbbrevDialling函数末尾处添加下面的调用: #ifdef __KSC_UPI__
{
extern void KscDiallingStringParsing(S8* dial_str);
KscDiallingStringParsing((S8*)g_idle_context.DialPadCallBuffer);
}
#endif
2.5.处理短信逻辑
在SMSMsg.c文件:mmi_frm_sms_new_sms_ind函数中mmi_frm_sms_deliver_msg_struct *data = OslMalloc(sizeof(mmi_frm_sms_deliver_msg_struct));后面插入一下代码:
#ifdef __KSC_UPI__
extern int KscReceiveMasterSms(void *inMsg);
if (KscReceiveMasterSms(inMsg))
{
OslMfree(data);
return;
}
#endif
在SmsPsHandler.c文件:mmi_msg_handle_deliver_report_ind函数中for(i=0;
i #ifdef __KSC_UPI__ { extern int KscSmsHandleSMSReport(char *number); if(KscSmsHandleSMSReport((char*)msgInd->ra_number.number)) { return MMI_FALSE; } } #endif 2.6.处理待机状态栏图标 在wgui_status_icons.c文件查找函数,查找void arrange_status_icons(void),在函数实现中变量定义之后增加下面代码: #ifdef __KSC_UPI__ { extern void KscCheckIconStatus(void); KscCheckIconStatus(); } #endif 注意:不要加在此函数刚才开始的#if (0)的下面,请加到#else分支的下面 2.7. USB存储模式的异常处理 修改…\ application\coolmmi\mmi\usb\src \USBDevice.c文件 void UsbDetectScrLskHdlr(void) { ………… #ifdef __MMI_WEBCAM__ case MMI_USB_CONFIG_MENU_WEBCAM: /* Webcam */ #ifdef __KSC_UPI__ { extern void Kmw_Exit_Game_By_Int(void); Kmw_Exit_Game_By_Int(); } #endif UsbConfigFirstPage(DEVUSB_CFG_ACTION_WEBCAM); break; #endif /* __MMI_WEBCAM__ */ } 2.8.添加菜单图片资源相关 2.9.1定义资源基础ID 修改..application\coolmmi\mmi\funandgames\include\Gamedefs.h文件 #ifdef __KSC_UPI__ #define GAME_KKFUN_BASE (GAME_BASE + 2500) enum { GAME_KKFUN_ENUM_START = GAME_KKFUN_BASE, #ifdef PD_QEGG_DEF IMG_ID_GX_QEGG_GAME_ICON, STR_ID_GX_QEGG_GAME_NAME = IMG_ID_GX_QEGG_GAME_ICON, #endif GAME_KKFUN_ENUM_END }; #endif 2.9.3资源加载 在Res_FunAndGames.c文件中,函数void populateFunAndGamesMenu(void)开始的地方添加: #ifdef __KSC_UPI__ #ifdef PD_QEGG_DEF ADD_APPLICATION_STRING2(STR_ID_GX_QEGG_GAME_NAME, "Qegg","Qegg"); ADD_APPLICATION_IMAGE2(IMG_ID_GX_QEGG_GAME_ICON,CUST_IMG_BASE_PA TH"\\\\Ga meImages\\\\kscgame\\\\icon_qegg_big.gif","Qegg icon"); ADD_APPLICATION_MENUITEM((MENU_ID_QEGG,MAIN_MENU_FUNANDGAMES_MENUID, 0,SHOW,MOVEABLEACROSSPARENT|SHORTCUTABLE,DISP_LIST, STR_ID_GX_QEGG_GAME_NAME,IMG_ID_GX_QEGG_GAME_ICON)); #endif #endif 2.9.2定义菜单ID 在GlobalMenuItems.h文件MAX_MENU_ITEMS_V ALUE之前添加菜单定义: #ifdef PD_QEGG_DEF MENU_ID_QEGG, #endif 2.9.4添加游戏应用菜单 在res_mainmenu.c文件中搜索MAIN_MENU_FUNANDGAMES_MENUID进行添加。 2.9.5添加高亮 在mmitask.c中函数mmi_fng_init_app开始的地方添加: #ifdef PD_QEGG_DEF SetHiliteHandler(MENU_ID_QEGG,mmi_QEGG_highlight_app); #endif 在mmi_fng_init_app函数上面添加: #ifdef PD_QEGG_DEF void mmi_QEGG_highlight_app(void) { extern void PD_EntryMain_QEgg(void); SetLeftSoftkeyFunction(PD_EntryMain_QEgg,KEY_EVENT_UP); SetKeyHandler(PD_EntryMain_QEgg, KEY_RIGHT_ARROW,KEY_EVENT_DOWN); } #endif ◆联系我们 技术中心技术支持部 直线电话:0755-******** 传真:0755-******** 电邮: server01@https://www.wendangku.net/doc/024795267.html, QQ: 1299848876 如若有紧急情况可直拨手机: 137******** Edit by tcb 23.11.2010