文档库 最新最全的文档下载
当前位置:文档库 › 互芯平台整合说明(中文版)

互芯平台整合说明(中文版)

互芯平台整合说明

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

相关文档
相关文档 最新文档