MTK程序编译
徐亦朱
1. 编写目的
本文编写的目的主要是从整体上理解MTK的编译过程,以便较快的处理编译中遇到的问题,同时为以后可能的优化编译过程提供参考。
2. 简介
MTK的编译过程主要是在windows命令行下通过Makefile文件执行相应的prel脚本或c程序,将资源包生成c源程序,并与相应模块的c程序.o,.lib或.obj的中间代码,最终生成在手机上使用的.bin文件和在模拟器上使用的mmiresource.dll资源文件。
3. 编译环境
A. 编译工具和辅助工具
l ADS1.2
l ADS1.2_update_848.exe
l MSYS 版本: 1.0.10
l MinGW 版本: 3.1.0
l Gcc-core- 3.3.1
l Gcc-g++- 3.3.1
l ImageMagick 版本: 6.3.6 Q16
l 7-zip 版本:3.13
l 注意:按照联发科技的要求,最好上述软件采用建议的版本,否则可能会出现异常情况,导致不能正常编译。
B. 编译环境搭建
l 按默认路径安装ADS1.2,并安装848补丁包
l 按默认路径安装Perl
l 按默认路径安装7_zip
l 安装MinGW
先按默认路径安装MinGW安装包,然后解压gcc-core、gcc-g++的压缩包,讲解压后的两个文件夹复制到MinGW安装路径下。
l 安装MSYS
l 安装ImageMagick,注意:
按默认提示安装到Select Additional Tasks时,所有的选择全取消,后面再按默认安装。
l 复制7z.exe
拷贝../7_Zip/7z.exe 至../plutommi/Customer/ResGenerator,并改名为7za.exe。
l 复制MinGW
拷贝../MinGW至../Tools/MinGW。
l 复制MSYS
拷贝../msys/1.0至../Tools/MSYS。
l 复制ImageMagick
拷贝../ImageMagick- 6.2.5 -Q16文件夹下全部文件
至 ../plutommi/Customer/ResGenerator目录下
l 设置make.exe
改名mingw32-make.exe(../Tools/MinGW)为make.exe,并放在tools目录下。
C. 编译环境检查
l 检查第三方软件安装情况
如果确认全部安装,可跳过此步。
将custom3rdParty.pl文件拷贝到本机,修改
4$sevenZipPath = "C://Progra1~1//7-Zip";
5$MinGWPath = "C://MinGW";
6$MSYSPath = "C://MSYS";
然后运行在Tools/chk_env.exe
l 检查windows环境变量
l 检查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)/include
Endif