MTK平台个人笔记精髓文档格式.docx
《MTK平台个人笔记精髓文档格式.docx》由会员分享,可在线阅读,更多相关《MTK平台个人笔记精髓文档格式.docx(69页珍藏版)》请在冰豆网上搜索。
Trace_out语句:
该语句可以输出格式化字符串。
ASSERT语句:
断言语句。
Trace语句:
可以输出格式化字符串。
关于MTKTarget的编译连接批处理命令:
Milan.bat。
●概述
在windows下,打开dos编辑窗口(开始->
运行->
cmd),找到工程代码所在根目录,如:
E:
\MTK6217输入编译批处理命令:
格式:
make[custom="
projectName"
]"
project"
"
action"
["
modules"
]
Example:
makecustom=mtk6217gprsnew
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:
2)update:
主要是资源和代码的编译,一般不怎么用,比new要编译的少一点,也是比较全面的编译
3)remake:
这个最常用,如果你没有修改资源(图片、铃声、字符串),只修改了*.c文件,就用这个编译就可以了,会从新产生bin文件
4)还有一个值得要说的是resgen,这个是专门用于编辑资源的,和remake编译配合(先resgen产生资源,再remake)比较快。
●Milan.bat执行流程
1)Milan.bat:
选择资源文件,根据资源文件得选项,复制不同得资源配置文件,并改名为custom_config.bld,根据用户选择得编译选项调用make.batcustom=Milangprsnew/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-RCUSTOMER=%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(目录:
3.nvram_user_config.c(目录:
4.NVRAMEnum.h(目录:
MILAN0538\plutommi\mmi\Framework\NVRAMManager\NVRAMManagerInc)
MTK架构
MMI
|
-----------|--------primitivebased
primitiveinterface
parameterconverter
functioninterfaceL4A
----------------functionbased
|
L4CLayer4
说明:
就是mmi和L4A是依赖primitive通讯,即message----primitivebased;
l4a和l4c用functioncall的方式联系---functionbased;
layer4就是一个中转站,中转各layer和mmi的通讯.
MTK6219手机解决方案由5部分组成
5.L1protocol
6.devicedriver
7.protocolstack
8.MMI
9.;
MTK6219solution提供了3个测试工具
1.Catcher
2.META
3.MCT。
MTK6219softwaresolution可分为3部分
1.MSExecutableSoftware
1.OS:
OSAdaptationLayer;
MTK采用的是NucleusOS,OSL的目的是为了使MTK软件方案适应于NucleusOS,在NucleusOS的基础上封装了一层,该层就是OS。
2.L1ProtocalStack:
GSMPhysicalLayer,支持5-Series技术规范下的比特流发送。
为上层提供服务,Controlthemapping和调度逻辑通道和物理通道。
实现了TDMAframing和无线控制。
1)Layer1Asynchronous:
处理来自上层的消息和将消息处理的结果发送给上层。
2)SurroundingCellEngine:
handlestheneighborcellpowermeasurementandneighborcellsynchronizationinformationacquisition.
3)Layer1Control:
handlestheTDMAschedulingontheradioenvironment,includingtimingadvanceandpowercontrolcommandfromservingbasestation.
4)Layer1Driver:
handlestheDSPandRadiocontrol.。
3.Drivers:
DeviceDriver,likeSIM,UART,GPIOetc.Driver为MCU所有的外围设备提供了控制功能接口。
该模块处理许多手机用户可见的操作,比如按键处理、LCD显示。
与L4entity进行交互,提供在设备控制功能函数,用于访问设备的寄存器。
1)与MCU外围设备相关的
1.SIM:
SubscriberIdentityModule
2.UART:
UniversalAsynchronousReceiver/Transmitter
3.SPI:
SerialPortInterface
4.GPIO:
GeneralPurposeInput/Output
5.GPT:
GeneralPurposeTimer
6.RTC:
RealTimeClock
7.WDT:
WatchDogTimer
8.PWM:
PulseWidthModulation
9.Alerter
10.Keypad
11.PMIC:
PowerManagementIC
12.BMT:
BatteryChargingManagementtask
13.AUXtask:
Auxiliarytask
14.ADCSched.:
AnalogtoDigitalConverterScheduler
15.USBtask:
TheUSB1.1protocolanddriver
16.IrDAtask:
TheIrDAanddriver
17.Camera:
Cameradriverforintegratingwith3rdpartycameramodule
18.MSDC:
Memorycarddriver,supportingSD,MMCcardsandMemoryStick
2)与MCU虚拟设备相关的
1.Resizer:
Softwareforcontrollingresizerengine
2.ImageDMA:
SoftwareforcontrollingthededicatedDMAchannelsforimages.
3.ImageProc.:
SoftwareforcontrollingImageeffectengine.
4.G2D:
Graphic2Dengine.
5.LCD:
LCDinterface,support4layers.
6.ISP:
Supportimagep