本文共 5934 字,大约阅读时间需要 19 分钟。
如何联编?
1) 支持 编译模拟器
2)EMMI版本都支持 make release_ibuild
3)每台联网的机器包括服务器都要另外安装IncrediBuild_Target.exe;
4)要安装3.5以上版本的incredibuild,并且安装盘要是NTFS格式的; 5) 2.01.18和2.02.33版本以上才支持cygwin下的分布式编译,编译命令为make release_ibuild.6) IncrediBuild_Target.exe 这个工具在网上搜搜有的。
7) 可以不安装IncrediBuild_Target.exe也是可以的。 如果不安装IncrediBuild_Target.exe就要修改每台机器的C:\\ARM\\Licenses\\license.dat文件,把所有的HOSTID=XXXXXXXXX 改成:HOSTID="ANY" TS_OK
合理地使用Target命令,能够减少编译的时间和提高解决问题的速度。现在对Target的常用命令做个总结,希望对大家以及后来的新人有帮助。
make release_ibuild:利用increbuild做分布式编译,要搭服务器; make release_ibuild XRG=1:这个命令可以直接跳过资源的编译过程,不编译资源; make release_speed XRG=1:上同; make release_speed_cus0:编译整个工程,但只编译第一个资源包; make mmi_cus: 编译资源; make clean_mmi_cus: clean 资源; make mmi_cus0:只编译第一个资源包; make mmi_cus;make e2p:结合这两个命令,可以直接运行模拟器; make clean_lib TARGET=: 只清除lib name 的library,例如make clean_lib TARGET=3rd; sh ./mg.sh xxx: 使用这个命令可以单独编译某个模块,例如:如果发现我们更改的文件在3rd目录里,我们就可以使用sh ./mg.sh 3rd; make release_mmi_app:如果只改了app目录下的文件,就可以使用这个命令来编译;类似的还有make release_mmi_drv;make release_mmi_srv;make release_mmi_3rd等等; make help:如果不知道使用什么命令,可以使用这个命令求助,也可以在工程目录下…\\proj\\makefile文件中找到所有的命令。
直接把CygwinPortable.exe解压缩到C盘根目录即可,不需要单独安装rvct和cygwin;
运行C盘根目录的cygwin.bat,切换目录至proj下,新工程config使用./tng/configure.pl命令; 新编译使用make release_speed或者make release_build命令,一般使用前者,编译速度会快一些; 不能直接使用make命令编译,这样会出现cannot find source of "arm_copro_s"的错误; 如果只是修改虚拟机的部分,使用make release_3rd命令,这样只编译3rd部分,速度较快; 如果修改了mmi部分,使用make release_mmi命令;根据修改的mmi里面的模块部分,也可以选择下面的编译命令:
make release_mmi_app;make release_mmi_core;release_mmi_mae等。mstar编译较慢,尽量选择模块化编译,直接make release_speed会比较慢,
只在修改了make文件中的选项时才需要make release_speed生成dz文件的命令:make dz_normal或make dz_redownload
Make mmi_cus:编译资源;make release_mmi_srv:编译mmi_srv
可以多条make命令一起使用,中间用分号区别,比如make release_mmi_app;make release_mmi_srv;make release_3rd
编译MSTAR模拟器:
./tng/configure.pl make clean make e2p;make mmi_cus编译MSTAR手机BIN:
./tng/configure.pl make clean make release_speed
Cygwin安装好后,启动它,默认会进入Cygwin的虚拟目录; 要想一启动Cygwin就切换到指定的目录,只要用文本编辑器打开Cygwin安装目录下home/.bashrc文件,在文件末尾加入相应的命令即可!比如,MSTAR用懒人安装包CygwinPortable.exe,默认安装到C盘根目录后,只要在C:\CygwinPortable\home\.bashrc文件后, 加上cd "d:\v2.04_m100\proj"的命令,即可达到“Cygwin一启动,就切换到目录d:\v2.04_m100\proj下”的功能。 |
MSTAR编译时,不想编译资源,可以在编译命令后面,加“XRG=1”,比如:make speed XRG=1 如果想只编译某个文件夹,可以用命令“sh ./mg.sh + 模块”,比如:sh ./mg.sh 3rd |
按模块编译的命令,都定义在Final_product.mak中,比如: release_mdl release_drv release_sys release_3rd release_libs release_final release_e2p release_mmi release_mmi_app release_mmi_srv release_mmi_mae release_mmi_mae_porting release_mmi_core release_mmi_common release_mmi_widget release_mmi_model release_mmi_res release_mmi_SrvWrapper release_mmi_AppLauncher clean clean_mmi clean_mae clean_mmi_cus把下载文件打包命令: dz_normal dz_redownload |
模拟器工程文件:proj\MStarStudio_UP\MStarDeveloper\XMMI\MMI_BuildAll_cus.sln 运行时选择:proj\MStarStudio_UP\MStarDeveloper\XMMI\debug\MStarSimulator.exe 产品:8533n_mb303av2 配置:HVGA 资源:TP_DefaultLangPack0000.CUS |
XRG是MSTAR编译资源的工具。 BuildAll是Clean所有CUS后,重新编译。挺耗时的,但能确保所有修改都编进CUS文件里。 Build不Clean,直接根据有无新的修改,进行编译,比BuildAll耗时要少得多; 它根据XML(image_list.xml,CHINESE_S.xml等)的修改时间与CUS的创建时间作对比,如果XML修改过,就重新编译它。 但很多时候,比如只替换了image目录下的图片,XML文件未修改过,这时,就会出现新替换的图片没编进去的现象。 出现这种情况时,只需用notepad打开相应的XML,加个空格再删除,然后保存它再用Build编,即可。 |
MSTAR的资源(文本String,图片Image,声音Melody,排版RS;PLMN,字体Font,输入法IME,手写Handwriting等)都是用XRG统一管理的。
很多资源(文本String,图片Image,声音Melody,排版RS等)都是按应用Applet组织的; 而有些资源(PLMN,字体Font,输入法IME,手写Handwriting等)是系统的。打开Open一个工程Solution后,鼠标右键单击Solution,弹出菜单里有个“Export Excel(*.xls)...”和“Import Excel(*.xls)...”。
前者将整个项目的文本String资源,导出到一个Xls文件中,修改后,可以用后者导入。这种功能,某些时候很有用。
Model的继承关系 IModel
--IDataModel --IIMEAssistModel --IInterfaceModel --ISoftkeyModel --ITextModel --IListModel ----IArrayModel ----IVectorModel ------IMenuModelWidget的继承关系 WidgetBaseEx_t
--ContainerBase_t ----AbsContainerBase_t ------GadgetContainer_t ------_Softkeyboard_HighlightWdg_t ------AliveWidget_t ------AnimationContainer_t ------DesktopWdg_t(DECLARE_BASECLASS_DESKTOPWIDGET) --------AclockDesktopWdg_t --------BasicDesktopWdg_t --------CalendarDesktopWdg_t --------DclockDesktopWdg_t --------FmDesktopWdg_t --------InfoDesktopWdg_t --------MpDesktopWdg_t --------NoteDesktopWdg_t --------OpDesktopWdg_t --------PedometerWdg_t --------PetDesktopWdg_t --------ProfileWdg_t --------SearchDesktopWdg_t ------DoubleItemWidget_t ------_EventWidget_t ------_FCDateWidget_t ------_FCTimeWidget_t ------_MAE_GlowTextWidget ------IFoneWidget_t ------_MAE_OptionMenuWidget ------_MAE_PopupSelectWidget ------RootContainer_t ------_ShortcutBarWidget_t ------_MAE_SlideSwitchWidget ------_MAE_StatusBarWidget ------WdgVolume_t ----PropContainerBase_t(PropContainer_t) ------CommonPickItem_t ------WdgImageDoubleItem_t ------_ImageTextImageWdg_t ------InputCandidateWidget_t ------PropCircleContainer_t ------_MAE_SoftKeyboardWidget ------_MAE_SoftkeyWidget_t ----MFLContainer_t ----SheetContainer_t ----_ViewerContainer_t --DecoratorEx_t ----GridWdgBase_t ----MainMenuAnimatedWdg_t ----ImageWidget_t ----_IMEAssistWidget_t ----InputGridWidget_t ----InputHelperWidget_t ----MenuWidget_t ----PickWidget_t ----_RingListWidget_t ----ScrollbarWidget_t ----_ScrollIndicatorWdg_t ----SIIWdg_t ----TabWidget_t ----_TitleWidget_t ----WdgTransition_t ----ViewportWdg_t --WdgBasicBmp_t --FlipEffectWdg_t --GlFotoListWdgBase_t ----GlBoxListWdg_t ----GlContactBrowserWdg_t --WdgBitmap_t --_ButtonWidget_t --WdgCanvas_t --CaretWidget_t --WdgDateIcon_t --WdgDummy_t --WdgFadeout_t --FormatInputWidget_t --_MAE_HandWritingWdg_t --_IndicatorWidget_st --InputWidget_t --Kmx_PopupWidget_t --Kmx_SoftkeyboardWidget_t --WdgOsd_t --WdgProgress_t --_PullDownWidget_t --_StatisticsChart_Widget_t --SwitchIconWidget_t --TextWidget_t --WdgTimerFormat_t
0、在Advanced的标签页,选择项目所用的FLASH类型,2.04_M100用的是NAND的。 1、在Download的标签页,选择编译产生的\build\8533n_m100\out目录 2、选择e2p文件和cus文件 3、选择CPU类型 4、手机去电池,链接USB线,选择相应的USB口和速率 5、点“Start“开始下载,USB下载很快,1分钟内就能搞定高级技巧: 用make release_speed的命令编译完成后,可以用make dz_normal将上述需要下载的问题打包成dz文件。 然后,在Download标签页选择DZ File,选择USB口后,点“Start”即可开始下载! |
转载地址:http://fbifb.baihongyu.com/