MTK程序编译过程说明.doc
文本预览下载声明
MTK程序编译过程说明
第 PAGE 1页
MTK程序编译过程说明
1.??编写目的
本文编写的目的主要是从整体上理解MTK的编译过程,以便较快的处理编译中遇到的问题,同时为以后可能的优化编译过程提供参考。
2.??简介
MTK的编译过程主要是在windows命令行下通过Makefile文件执行相应的perl脚本或c程序,将资源包生成c源程序,并与相应模块的c程序.o,.lib或.obj的中间代码,最终生成在手机上使用的.bin文件和在模拟器上使用的mmiresource.dll资源文件。
3.?? 编译环境
A.?编译工具和辅助工具
ADS1.2
ADS1.2_update_848.exe
MSYS 版本:1.0.10
MinGW 版本:3.1.0
Gcc-core-3.3.1
Gcc-g++-3.3.1
ImageMagick 版本:6.3.6 Q16
7-zip 版本:3.13
注意:按照联发科技的要求,最好上述软件采用建议的版本,否则可能会出现异常情况,导致不能正常编译。
B.?编译环境搭建
按默认路径安装ADS1.2,并安装848补丁包
按默认路径安装Perl
按默认路径安装7_zip
安装MinGW
先按默认路径安装MinGW安装包,然后解压gcc-core、gcc-g++的压缩包,讲解压后的两个文件夹复制到MinGW安装路径下。
安装MSYS
安装ImageMagick,注意:
按默认提示安装到Select Additional Tasks时,所有的选择全取消,后面再按默认安装。
复制7z.exe。拷贝..\7_Zip\7z.exe 至..\plutommi\Customer\ResGenerator,并改名为7za.exe。
复制MinGW。拷贝..\MinGW至..\Tools\MinGW。
复制MSYS。拷贝..\msys\1.0至..\Tools\MSYS。
复制ImageMagick。拷贝..\ImageMagick-6.2.5-Q16文件夹下全部文件至 ..\plutommi\Customer\ResGenerator目录下
设置make.exe。改名mingw32-make.exe(..\Tools\MinGW)为make.exe,并放在tools目录下。
C.?编译环境检查
检查第三方软件安装情况
如果确认全部安装,可跳过此步。
将custom3rdParty.pl文件拷贝到本机,修改
4$sevenZipPath = C:\\Progra1~1\\7-Zip;
5$MinGWPath??? = C:\\MinGW;??? 6$MSYSPath???? = C:\\MSYS;然后运行在Tools\chk_env.exe
检查windows环境变量。检查MTK中Makefile变量是否正确。
打开..\make\option.make,检查关于ADS编译器的路径设置ifeq ($(strip $(COMPILER)),ADS)??? DIR_ARM??????? = c:\adsv1_2??? DIR_ARM := $(strip $(DIR_ARM))??? DIR_TOOL?????? = $(DIR_ARM)\bin??? DIR_ARMLIB???? = $(DIR_ARM)\lib??? DIR_ARMINC???? = $(DIR_ARM)\includeEndifD. 结束
现在可以执行MAKE了,例如
Make customer_name gprs new_modis
Make CUSTOMER_NAME gprs newE.??搭建编译环境的另一种方法
正确安装A中所述软件后,配置custom3rdParty.pl中变量,用该批处理文件自动配置剩余工作。
F. 搭建编译环境的一种捷径
当已经配置好一个MTK工程,需要在另一个工程中搭建编译环境时,有一种便捷的方法,步骤如下:
假设已配置好的工程MAUI.A,待配置的是MAUI.B;
备份MAUI.B的tools目录,如改名为tools_new;
复制MAUI.A的tools目录至MAUI.B的目录下;
用MAUI.B原来的tools目录下所有文件覆盖当前的tools目录,如复制tools_new下所有文件至tools下;
复制MAUI.A下plutommi/Customer/ResGenerator/7za.exe和convert.exe至MAUI.B下的plutommi/Customer/ResGenerator。
4.?? 编译命令与文件
MTK编译分资源的编译和代码的编译。1)?资源的编译a)?在如下的情况下,需要重新编译资源:
修改了字符串资源文件(Ref_list.txt)、字库文件(FontR
显示全部