XY_GPS_TERM V1.0 移植文档
XY_GPS_TERM V1.0 移植文档
一.项目编译选项及目录添加
1. NEOTEL52_6432_10A_GPRS.mak 文件中加入
MACHINE_MODEL = 项目名 #以区分不同项目
2. 在Option.mak最后添加
##############xy gps term#########################
COM_DEFS += _XY_GPS_TERM_
COM_DEFS += _XY_GPS_PROJECT_Z2
COMPLIST += xygps
##############xy gps term#########################
3. 将对比文件中plutommi\mmi\xygps目录复制到项目的plutommi\mmi目录下.
4. 将对比文件中make\xygps目录复制到项目的make目录下.
5. 在GpsPlatformConfig.h文件中打开,平台的宏。
/* 平台版本定义*/
//#define GPS_MTK_6223c_08A 打开此宏
//#define GPS_MTK_6225_08_16 打开此宏
//#define GPS_MTK_6225_08A 打开此宏
//#define GPS_MTK_6225_08_12 打开此宏
//#define GPS_MTK_6225_07B 打开此宏
//#define GPS_MTK_6225_08_52 打开此宏
//#define GPS_MTK_6235 打开此宏
//#define GPS_MTK_6236 打开此宏
#define GPS_MTK_6252 打开此宏
6. 修改软件版本:
#define GPS_MTK_SW_VER 0x1032
7. 确定正确的CMWAP index值。
#define GPS_CMWAP_PROFILE_INDEX 3
8. 程序入口:在IdleObject.c的static void mmi_idle_obj_enter(mmi_scrn_essential_struct *param)加入相应的进入函数。
9. 循环 计时器
StartTimer(GPS_TIMER_DEF_1,1000,my_funcPtr);
Void my_funcPtr(void)
{
StartTimer(GPS_TIMER_DEF_1,1000,my_funcPtr);
}
二.短信处理
1.文件MessagesMiscell.c
在函数d mmi_msg_new_msg_ind(srv_sms_event_new_sms_struct* event_info)第一行可执行代码中添加。
#ifdef _XY_GPS_TERM_
{
U8 gps_term_sms_check(srv_sms_new_msg_struct * p_sms, void * content);
if(gps_term_sms_check(new_msg_data, event_info->content))
{
return ;
}
}
#endif
三.TimerEvents.h 文件中
#ifdef _XY_GPS_TERM_
GPS_TIMER_DEF_1,
GPS_TIMER_DEF_2,
GPS_TIMER_DEF_3,
GPS_TIMER_DEF_4,
GPS_TIMER_DEF_5,
GPS_TIMER_DEF_6,
GPS_TIMER_DEF_7,
GPS_TIMER_DEF_8,
GPS_TIMER_DEF_9,
GPS_TIMER_DEF_10,
GPS_TIMER_DEF_11,
GPS_TIMER_DEF_12,
GPS_TIMER_DEF_13,
GPS_TIMER_DEF_14,
GPS_TIMER_DEF_15,
GPS_TIMER_DEF_16,
GPS_TIMER_DEF_17,
GPS_TIMER_DEF_18,
GPS_TIMER_DEF_19,
GPS_TIMER_DEF_20,
GPS_TIMER_DEF_21,
GPS_TIMER_DEF_22,
GPS_TIMER_DEF_23,
GPS_TIMER_DEF_24,
GPS_TIMER_DEF_25,
GPS_TIMER_DEF_26,
GPS_TIMER_DEF_27,
GPS_TIMER_DEF_28,
GPS_TIMER_DEF_29,
GPS_TIMER_DEF_30,
#endif
MAX_TIMERS /* Imp: Please do not modify this */
注意:
1. 此项修改后,需要编译使用TimerEvents.h的相关模块,否则会出出现机器开机重起的问题 。
2. 根据需要可以多个添加。
四.添加相应的资源分配
1.在文件mmi_res_range_def.h中修改
……
#ifdef
_XY_GPS_TERM_
RESOURCE_BASE_RANGE(XY_GPS, 20),
#endif
……
RESOURCE_BASE_ENUM_END()
/****************************************************************************
* XYGPS
*****************************************************************************/
#ifdef _XY_GPS_TERM_
#define
XY_GPS_BASE
((U16) GET_RESOURCE_BASE(XY_GPS))
#define
XY_GPS_BASE_MAX
((U16) GET_RESOURCE_MAX(XY_GPS))
RESOURCE_BASE_TABLE_ITEM(XY_GPS)
#endif
RESOURCE_BASE_TABLE_END()
2.添加资源
将移植包中的porting \Res_Xygps.c文件放到
plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下,
字符串加到\plutommi\Customer\CustResource\PLUTO_MMI\ref_list\ ref_list_mainmenu.txt文件中,如果没有\plutommi\Customer\CustResource\PLUTO_MMI\ ref_list这个目录,将字符串加到plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt文件中。
3.程序始化的处理
MMITask.c文件
函数:
1). void InitAllApplications(void)
2). InitInsertSimApp(void)
#ifdef
_XY_GPS_TERM_
Init_xy_gps();
#endif
五. 播放器播放时,来事件中断处理的移植
1. 在mdi_audio.h
MDI_BACKGROUND_APP 中MDI_BACKGROUND_APP_AUDPLY之后添加
typedef enum
{
……
#ifdef
_XY_GPS_TERM_
MDI_BACKGROUND_XY_GPS,
#endif
……
} MDI_BACKGROUND_APP;
六. NVRAM添加
1. Nvram_common_config.c文件中
ltable_entry_struct logical_data_item_table_comm_app[] =
的最后, /* Add new entry in the tail with its compile optoin */,在此之前添加
#ifdef _XY_GPS_TERM_
,{
NVRAM_EF_xygps_WEBTIME_LID,
NVRAM_EF_xygps_SIZE,
NVRAM_EF_xygps_TOTAL,
NVRAM_NORMAL((void*)&NVRAM_EF_ZERO_DEFAULT),
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER,
"MPDH",
"000",
"xygps\0",
NVRAM_RESERVED_VALUE
}
,{ NVRAM_EF_RESERVED_LID }
2. Nvram_common_defs.h 文件中
#ifdef _XY_GPS_TERM_
NVRAM_EF_xygps_WEBTIME_LID,
#endif
NVRAM_EF_LAST_LID_COMMAPP
}
nvram_lid_commapp_enum;
3. nvram_user_defs.h文件中
#ifdef _XY_GPS_TERM_
#define NVRAM_EF_xygps_TOTAL 1
#define NVRAM_EF_xygps_SIZE 242
#endif