MTK移植全解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
●熟悉移植工具SI的使用
项目文件用source insight 打开,在其开发过程混合着其平台本身的源代码,数量庞大,必须使用有效的代码编辑工具来管理。在这里,推荐大家使用SourceInsight3.5版,如图1所示:
图1
SourceInsight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++、c#和Java等程序的分析功能。SoureeInsight 能分析用户的工程源代码并在工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。
比如:需要修改h900项目中的h900yy_lingke_gprs.mak文件中的内容
在source insight中的项目框中按图输入文件名(不区分大小写)●烧机工具Flash tool
Flash tool :用来把项目编译出来后的.bin文件烧写进手机上的工具
关于它的使用,在后面章节会有介绍
二.移植配置
配置前需要添加移植包内的文件
移植包内容如下:
添加的主程序文件夹,模块文件和路径
将上述文件从移植包中复制到相应的目录下
将移植包中的MyApp文件夹复制到H900\plutommi\mmi\中
将移植包中的Res_Fight_Landlord.c文件夹复制到H900\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI中
路径图:
添加项目在编译时自动搜索路径
●打开mmi_app.inc文件(H900\make\plutommi\mmi_app) 在里面添
加以下红色内容(最好在最后一行)plutommi\mmi\Fight_Landlord\Fight_LandlordInc
●打开mmi_app.pth 文件(H900\make\plutommi\mmi_app) 在最后一
行添加以下红色内容
plutommi\mmi\Fight_Landlord\Fight_LandlordSrc
●打开makefile文件(H900\plutommi\Customer\ResGenerator)添加
以下红色内容
-I "../../MMI/netoxryie/netoxryieInc" \
-I "../../mmi/smartMMI/inc" \
-I "../../mmi/dym/inc" \
-I "../../MtkApp/pollex/Pollex_NetWork/Inc" \
-I "../../mmi/msmenu/inc" \
-I "../../mmi/msminiproduct/msminicommon/inc" \
-I "../../MMI/PoetrySms/PoetrySmsInc" \
-I "../../mmi/Fight_Landlord/Fight_LandlordInc"
打开mmi_app.lis文件(H900\make\plutommi\mmi_app) 在最后一行添加以下红色内容
plutommi\mmi\Fight_Landlord\Fight_LandlordSrc\Fight_LandlordSrc .c
plutommi\mmi\Fight_Landlord\Fight_LandlordSrc\mysocket.c
plutommi\mmi\Fight_Landlord\Fight_LandlordSrc\GobangAI.c
plutommi\mmi\Fight_Landlord\Fight_LandlordSrc\Gobang.c
添加资源和代码
修改MMIDataType.h
在此处添加基础ID
添加如下红色代码部分
RESOURCE_BASE_RANGE(APP_PHOEDT, 300),
RESOURCE_BASE_RANGE(APP_MESSAGE_CLUB, 1000),
RESOURCE_BASE_RANGE(APP_ABREPEATER, 200),
/*Schedule FM Radio Record*/
RESOURCE_BASE_RANGE(APP_FMSCHEDULEREC, 200),
/*Background Sound Effect*/
RESOURCE_BASE_RANGE(APP_BGSOUND, 200),
/***************************************************************** *Fight_Landlord
*****************************************************************/
RESOURCE_BASE_RANGE(Fight_Landlord, 300),
……………………
……………………
……………………..
/************************************************************************* ***
* Main Menu
************************************************************************** ***/
#define MAIN_MENU_BASE ((U16) GET_RESOURCE_BASE(APP_MAINMENU))
#define MAIN_MENU_BASE_MAX ((U16) GET_RESOURCE_MAX(APP_MAINMENU))
RESOURCE_BASE_TABLE_ITEM(APP_MAINMENU)
/************************************************************************* ***
* Fight_Landlord
************************************************************************** ***/
#define Landlord_BASE ((U16) GET_RESOURCE_BASE(Fight_Landlord))
#define Landlord_BASE_MAX ((U16) GET_RESOURCE_MAX(Fight_Landlord))
RESOURCE_BASE_TABLE_ITEM(Fight_Landlord)