【总结】MTK入门相关知识总结

上传人:学**** 文档编号:196241105 上传时间:2021-09-17 格式:DOCX 页数:33 大小:124.91KB
返回 下载 相关 举报
【总结】MTK入门相关知识总结_第1页
第1页 / 共33页
【总结】MTK入门相关知识总结_第2页
第2页 / 共33页
【总结】MTK入门相关知识总结_第3页
第3页 / 共33页
【总结】MTK入门相关知识总结_第4页
第4页 / 共33页
【总结】MTK入门相关知识总结_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《【总结】MTK入门相关知识总结》由会员分享,可在线阅读,更多相关《【总结】MTK入门相关知识总结(33页珍藏版)》请在金锄头文库上搜索。

1、MTK编译过程1.1. 编写目的MTK的编译过程, 以便能够较快的处理编译中遇到的问题,本文编写的目的主要是为了从整体上懂得同时为以后可能的优化编译过程供应参考;1.2. 简介MTK的编译过程主要是在windows 命令行下通过MakeFileperl脚本或 c 程序,将文件来执行相应的资源包生成c 源程序, 并与相应模块的c 程序生成 .o,.lib 或.obj 的中间代码, 最终生成在手机上使用的.binmmiresource.dll 资源文件;文件和在模拟器上使用的1.3.编译命令命令说 明Clean清除全部的目标文件、库文件和日志文件清除并重新编译全部的文件;主要完成工作:Newgsm

2、2.mak cleanall cmmgen mmi_feature_check asngen codegen asnregen operator_check_lite update重新编译资源文件,生成相应的目标文件;主要完成的工作:Updategsm2.mak cleanlog cleanbin mcddll_update codegen resgen cksysdrv remake:仅仅编译依靠修改过的文件生成的模块;主要完成的工作Remakegsm2.mak mcp_check cleanlog cleanbin genverno libs $(BIN_FILE) done1.4. 编译

3、相关的文件make 文件夹中;各个文件的简要说明如下:编译用到的文件主要放在文件名说 明Gsm2.makmake 文件,这个文件从命令行获得编译参数,做出相应的处理;它定义编译过程中主要执行的了各个参数的执行过程,包括:new 、remake 、update等;以及调用其它perl 或 c 程序生成目标文件;Option.mak定义了编译环境中用到的工具及相关的目录,依据大的编译开关定义了小的编译和链接选项,编trace 的头文件路径,全局的编译开关,用户的一些编译译中包含文件和生成文件的路径,定义选项,最终定义了编译路径和目录;XXX.lisXXX模块的 .c 文件XXX.pthXXX.de

4、fXXXXXX模块的 .c 文件存放的路径模块用到的编译开关,当 XXX模块引用其它模块中在编译开关下定义的变量、函数或宏时,就需要将这个编译开关加进来;XXX.incXXX 模块用到的头文件路径,需要将要包含进来;XXX 模块引用的头文件及,头文件引用的头文件的路径均XXX_GPRS.maktrace 的头文件路径,全定义了需要编译的模块列表、编译中包含文件和生成文件的路径,定义局的编译开关,用户的一些编译选项,最终定义了编译路径和目录;Comp.mak编译和集成模块源文件,编译生成库文件;构建目标代码依靠列表,设置每个模块的编译路径及编译选项,设置生成目标lib 的路径,设置生成obj 的

5、路径buildinfo.tmpcompbld.tmp包含了在 Gsm2.mak和 Option.mak中用到的项目和平台名称包含了编译每个模块时的编译信息;MT6218B.log记录了 Gsm2.mak文件编译过程MT6218BrMT6218Bo目录包括了每个模块依靠的头文件包含全部生成的obj 文件和 lib 文件;目录1.5.编译指令1、newARM 版,包括图片、声音、字符串等资源都要重做;在构建工程过功能 :全新开头构建整个工程的New 指令仍会自动创建必要的目录、移除暂时文件和程中,清除全部的目标文件,库文件,日志文件等;中间脚本、更新日志文件;过程简要说明:new-cleanall

6、-sysgen-ckscatter-mmi_feature_check-asngen-codegen-asnregen-operator_check_lit-$(BTLD_BIN_FILE)-update;依靠指令 : new 依靠的其他指令最多,其中包括cleanall,sysgen,ckscatter,mmi_feature_check,asngen,codegen,asnregen,operator_check_lite,update.用途 : new 指令是最完全也是耗时最长的一个动作,一般得到一个新的MTK 发布版本后由项目负责人要做一次;使用示例 : C: BIRD25_GEMIN

7、I_07BReleasemake BIRD25_GEMINI_07B gprs new;2、update功能 : update 是重新更新整个工程的ARM 版,该动作会扫描工程中文件和库的依靠关系,如依靠关Update 指令不依靠系有变化会建立新的依靠关系,随后依据新的依靠关系重新编译链接有改动的部分;cleanall 指令,所以它不会删除目标文件和库文件,也不会去更新日志文件和创建目标目录,这一点和 remakenew 短的缘由;相像,这也是为什么执行时间比过程简要说明: update-cleanlog-cleanbin-mcddll_update-codegen-resgen-cksydr

8、v-remake;依靠指令 : cleanlog,cleanbin,mcddll_updata,codegen,resgen,cksydrv,remake ;用途 : update 是耗时较长的一个指令,一般在增加或删除一些驱动或应用情形下使用;使用示例 : C: BIRD25_GEMINI_07BReleasemake BIRD25_GEMINI_07B gprs update;3、remake功能 : remake 是重新编译整个工程的ARM 版,该动作只是简洁的重新编译链接有改动的部分;它不检查依靠关系.不扫描资源,只扫描代码的转变,有转变的重编,资源和无转变的代码不编;过程简要说明:r

9、emake-mcp_check-cleanlog-cleanbin-genverno-libs-$(BTLD_BIN_FIKE)-cmmgen-done;依靠指令 : mcp_check,cleanlog ,cleanbin ,genverno , libs , $(BIN_FIKE) , cmmgen,done;其中最重要的两个指令是libs , $(BIN_FIKE) ;LibsC 文件编译连接为独调用编译器和连接器将各个模块目录下的立的库; $(BIN_FIKE)mtk_lib 目录下的库一起连接起来得到一个映像文件,是将各个模块编译连接的库和然后使用 ADS 的工具fromelf 将映

10、像文件生成以变量BIN_FILE命名的二进制文件,该文件可以下载到硬件板上运行;用途 : remake 是耗时最短的一个动作,也是最常用的动作;使用示例 : C: BIRD25_GEMINI_07BReleasemake BIRD25_GEMINI_07B gprs remake;4、clean功能 :清除全部的目标文件,暂时文件,库文件,可执行文件,更新日志文件;仍可以用于某个模块相关的清除工作;过程简要说明: check build root 、target folder 、comp、 lib 、comp log folder-clean bin folder 、 elf 、lis、htm

11、、 log files 、tst database files、obj,lib files ;依靠指令 : cleanlog,cleanbin,cleanmod,cleancodegen 等;用途 :作为其它命令所依靠的指令,仍有就是清除工程或者指定模块对象的类库;使用示例 : C: BIRD25_GEMINI_07BReleasemake BIRD25_GEMINI_07B gprs clean,C:BIRD25_GEMINI_07BReleasemake BIRD25_GEMINI_07B gprs clean Init;5、其他命令介绍new_modis :是全新构建整个工程的PC 模拟

12、版,其调用 VCwindows的编译器和链接器得到一个可以在上运行的 PC 模拟版; MMI应用软件工程师可以在没有硬件板的情形下在PC 上检查和调试自己写好的应用;codegen_modis:产生 modis 需要的 trace 文件的 datebase;gen_modis :产生vc 工程文件;remake_modis :重新编译整个工程的PC 版;Codegen :创建 TST 数据库;它依靠的指令有:cleancodegen,asngen,umts_gen,codegen,asnregen,cleanbin,mcddll_update,done;Cleancodegen :删除 cod

13、egen.lis;Resgen:生成 MMI 资源;它依靠的指令有:code_generate,cleancodegen,asngen,codegen,asnregen,cleanbin,mcddll_update,done;Cmmgen :生成 CMM文件;Sysgen:生成内存映射文件,并放在CUSTOMER文件夹里面;Emigen :生成 flash_opt.h,custom_EMI.h,custom_EMI.c和 custom_switchclock.c 文件;Emiclean :清除 EMI 设置;Mmi_feature_check:依据 MMI_features.h 和 MMI_f

14、eatures_switch.h中宏定义的不同来产生info.log文件;Operator_check: 检查 customer 的宏是否被修改,假如修改产生相应log 文件;Fota :生成 FOTA 二进制文件;Bootloader :生成 bootloader 二进制文件;Ckscatter :检查 scatter 文件Mmi_obj_check: 检查运行时间值,e.g,联合体元素的大小等;Med_mem_check :检查 media memory ;该指令依靠gencustominfo gen_infolog nvram_auto_gen;Dummy_data_check: 检查虚拟数据;Viewlog :查看日志文件;Cksysdrv :检查系统驱动是否为满;Genverno :生成 verno.c/h;Mcddll_update:生成和更新tst mcddll.dll文件;Gen_bl_verno:生成 bootloader 版本号;Del_fota :删除fota 二进制文件和elf,lis,sym,htm.*.log文件;实践:一,要手动修改flash 类型时:(1) 没有打开USB_DOWNLOADemiclean - emigen - r( 2)打开了 USB_DOWNLOADemiclean - emigen - bootloa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号