MTK平台个人笔记精髓
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢关于MTK Simulator
1.MTK simulator的工程文件是 PixtelMMI.dsw。
2.打开PixtelMMI.dsw,检查文件default_Fmrdo.c、default_mmi_pro、
default_mmi_settings.c、default_version.c文件是否存在工程文件中,上述文
件存放目录:项目所在目录\custom\app\MILAN_BB。
3.在调试运行过程中会提示某些DLL文件无法连接,这是VC没有安装。DLL文件所
在目录:VC安装盘\VC98\DEBUG。把缺失的文件复制到window安装目录下的
System32目录里。
4.运行MTK Simulator,选取 Simulator,会运行MMINWSimulator;在MMINWSimulator
菜单中,选取Menu Messages,会弹出一个Send Event窗口,窗口里有一个Events
列表,列表里有不同用途种类的Events;如果需要启动手机,选取BootUp Events,
点击OK按钮,MTK Simulator模拟开机过程。
➢关于调试语句的说明
kal_print语句:该语句只能打印字符串信息。
Trace_out语句:该语句可以输出格式化字符串。
ASSERT语句:断言语句。
Trace语句:可以输出格式化字符串。
➢关于MTK Target的编译连接批处理命令: Milan.bat 。
●概述
在windows下,打开dos编辑窗口(开始->运行->cmd),找到工程代码所在根目录,如:E:\MTK6217 输入编译批处理命令:
格式:make[custom="projectName"]"project" "action"["modules"]
Example: make custom=mtk6217 gprs new
Modules:用于对单个模块进行编译的选项。如果没有指定,则对所有的模块进行编译处理。如果指定了模块名,则对指定的模块进行编译处理。
后面的modules是nucleus之类的,可以不用写,中间的除了mtk6217工程名外可以照写,mtk6217工程名可以在你的源代码的make目录下有个工程文件名,比如我的例子就叫mtk6217_gprs.mak,你将你的替换就可以了,
另外,除了上面的仁兄跟你说的ADS1.2以上 perl也要 5.**,我用的是ActivePerl-5[1].6.1.631-MSWin32-x86.msi名字的,你查找下载一下,最后你还需要安装VC6,这才能确保编译不出错。
New:全面的编译,包括了所有的资源,代码,会把生产的所有的obj都删除掉,重新产生;还有一些代码的拷贝,特别是资源和定义头,如:mmi_features.h 编译选项说明:
1)New:全面的编译,包括了所有的资源,代码,会把生产的所有的obj都删除掉,
重新产生;还有一些代码的拷贝,特别是资源和定义头,如:mmi_features.h
2)update:主要是资源和代码的编译,一般不怎么用,比new要编译的少一点,
也是比较全面的编译
3)remake:这个最常用,如果你没有修改资源(图片、铃声、字符串),只修改了
*.c文件,就用这个编译就可以了,会从新产生bin文件
4)还有一个值得要说的是resgen,这个是专门用于编辑资源的,和remake编译配
合(先resgen产生资源,再remake)比较快。
●Milan.bat执行流程
1)Milan.bat:选择资源文件,根据资源文件得选项,复制不同得资源配置文件,
并改名为custom_config.bld,根据用户选择得编译选项调用make.bat cus-
tom=Milan gprs new/update/remake。
2)Make.bat:判断当前得操作系统后,调用相应得批处理 m_win2k.bat %*, %*
表示调用make.bat命令行的所有参数作为m_win2k.bat的命令行参数。
3)M_win2k.bat:根据命令行参数设置环境变量DEFAULT_CUSTOM、CUSTOMER、
PROJECT、ACTION等,生成了编译配置文件~labelbuild.tmp、~buildinfo.tmp、
~cleanmod.tmp、~updatemod.tmp、~remakemod.tmp,调用命令:tools\make.exe
-fmake\gsm2.mak -r -R CUSTOMER=%CUSTOMER% PROJECT=%PROJECT% %ACTION%,
再milan这个项目编译处理中:%CUSTOM% = Milan,%PROJECT% = gprs,%
ACTION% = new / update / remake 。
4)Gsm2.mak:
1.包含其他的makefile文件:option.mak,~buildinfo.tmp,
Milan_gprs.make,custom.bld,verno_Milan.bld,~cleanmod.tmp,
~updatemod.tmp,~remakemod.tmp、comp.mak。
●关于Perl、ADSv1_2的路径设置
Perl的搜索路径设置是在Milan.bat批处理中;ADSv1_2的搜索路径设置是在make路径下的文件Option.mak;
●源程序编译配置文件
在make目录下,.pth文件表示该模块下需要编译的源文件所在的相对目录;.lst文件表示需要编译的源程序的相对文件名;.inc文件表示头文件的路
径;.def文件表示定义的条件编译宏。
➢如何在NVRAM增加一个保存记录的文件
1.custom_nvram_editor_data_item.h(目录:MILAN0538\custom\app\MILAN_BB)
2.nvram_user_defs.h(目录:MILAN0538\custom\app\MILAN_BB)
3.nvram_user_config.c(目录:MILAN0538\custom\app\MILAN_BB)
4.NVRAMEnum.h(目录:
MILAN0538\plutommi\mmi\Framework\NVRAMManager\NVRAMManagerInc)
➢MTK架构
MMI
|
-----------|--------primitive based
primitive interface
|
parameter converter
|
function interface L4A
|
----------------function based
|
L4C Layer 4