欢迎来到天天文库
浏览记录
ID:51691490
大小:44.50 KB
页数:5页
时间:2020-03-15
《MTK手机软件系统的构建过程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MTK手机软件系统的构建过程MTK手机软件系统的构建使用了GNU的make,使得整个工程的构建可以自动进行,且可以灵活控制。整个构建过程由Make.bat、make2.pl、MoDIS.dsw、Gsm2.mak、Option.mak、_.mak等文件控制。构建PC模拟版是通过msdev和VC的工程文件MoDIS.dsw来完成的。Gsm2.mak是构建ARM版的核心Makefile文件,整个构建过程由其控制,其他是一些启动、选项配置、子过程的文件。其关系图如下所示。在MTK手机软件系统的根目录下有一个批处理文件Make.bat,这个批处理文件启动了整
2、个工程的构建过程。在windows的命令行下,在该系统的根目录下输入命令make和相应的参数即可开始工程的构建,该批处理文件的使用方法如下所示。Usage: make["customer"
3、"mt62xx"]"project""action"["modules"]Description: customer =mtk (Defaultcustomer) =firefly17_demo (FIREFLY17_DEMOproject) =[mt6217
4、mt6219
5、mt6226
6、mt6227
7、mt6228
8、mt6229](EVBonly)
9、=... project =l1s (Layer1stand-alone) =gsm (GSMonly) =gprs (GPRSonly) =basic (BasicFramework) action =new (codegen,resgen,clean,update)(default) =updateoru (scan,compile,link) =remakeorr (compile,link) =cleanorc (clean)
10、 =resgen (resgen) =c,u (cleanthenupdate) =c,r (cleanthenremake) =codegen (codegen) =viewlog (openedittoviewbuildlog) =emigen (emigen) =emiclean (emiclean) module(s) =modules'name (kal,l1,...) =>OPTIONALwhenactionisoneof(clean
11、cremakerupdateuc,rc,u)Example: makegsmnew (MT6205BEVBnew) makegprscodegen (MT6218BEVBcodegen) makemt6219gprsupdate (MT6219EVBupdate) makefirefly17_demogprsnew makemilan_demogprsc,uinitcustom makemt6219gprsrinitcustomdrv其中较常用的action有new、update、remake、new_modis这几个。new是全新
12、开始构建整个工程的ARM版,包括图片、声音、字符串等资源都要重做,依赖的其他动作最多,是最彻底也是耗时最长的一个动作,一般得到一个新的MTK发布版本后要做一次。update是重新更新整个工程的ARM版,该动作会扫描工程中文件和库的依赖关系,若依赖关系有变化会建立新的依赖关系,随后根据新的依赖关系重新编译链接有改动的部分,一般在增加或删除一些驱动或应用的情况下需要用update。remake是重新编译整个工程的ARM版,该动作只是简单的重新编译链接有改动的部分,不检查依赖关系,是耗时最短的一个动作,也是最常用的动作。new_modis是全新构建整个工程的PC模拟版,其调用VC的编译器和链
13、接器得到一个可以在windows上运行的PC模拟版。MMI应用软件工程师可以在没有硬件板的情况下在PC上检查和调试自己写好的应用。Make.bat实际上只起引导作用,其只有一行批处理语句perlmake2.pl%*,于是运行该批处理文件后控制权转给了perl脚本make2.pl。在这个perl脚本中解析了用户输入的命令行参数,设置变量,准备make时需要的临时配置文件,随后根据生成的可运行映像是PC模拟版还是ARM版而分别调用不同的构建过程。P
此文档下载收益归作者所有