mtk基础入门.docx
《mtk基础入门.docx》由会员分享,可在线阅读,更多相关《mtk基础入门.docx(10页珍藏版)》请在冰豆网上搜索。
mtk基础入门
MTK入门资料
文档内容:
-》MTK软件架构
-》如何编译
-》开发目录结构解析
-》开发工具的了解
-》程序入口,程序导读
-》MMI的制作
1.MTK软件构架
参考文档:
MT6218_SW_ReleaseNote.pdf
MTK为MediaTek公司提供的GSM软件方案。
它包含5个部分:
-》L1协议
-》设备驱动
-》协议栈
-》MMI
-》WAP应用
MediaTek为用户提供3个工具:
-》Catcher
-》META
-》MCT
MTK软件架构图:
下面3个部分组成该软件方案:
1.MSExecutableSoftware,whichisthesoftwarerunningontheMS,includesthefollowingmodules
-OS:
NucleusOS.
-L1ProtocolStack:
GSMphysicallayer.
-Drivers:
devicedriver,likeSIM,UART,GPIO,etc.
-L2/L3protocolstack:
GSMprotocolstacklayer.
-MMI:
man-machineinterface.
-WAP:
Wirelessapplicationprotocol.
-JAVA:
J2MESoftware
2.TheMobileEngineeringTestingArchitecture,alsoknownasMETA
3.Catcher
-》OS
MediaTek采用NucleusOS实时操作系统。
KALOS层为MediaTek’s软件和Nucleus操作系统的接口。
它为任务提供许多系统服务函数,比如计时器,队列,内存管理,事件等等。
-》L1ProtocolStack
ThephysicallayerorLayer1supportsthetransferofbitstreamsontheradiomediumaccordingtotheTechnicalSpecificationsofthe05-series.Itprovidesservicetoupperlayersandcontrolthemappingandschedulingbetweenthelogicalandphysicalchannels.TheTDMAframingandradiocontrolpartsarealsoimplemented.
Layer1Asynchronous:
handlesthemessagerequestfromupperlayersandforwardtheresultgeneratedbylayer1toupperlayer.
SurroundingCellEngine:
handlestheneighborcellpowermeasurementandneighborcellsynchronizationinformationacquisition.
Layer1Control:
handlestheTDMAschedulingontheradioenvironment,includingtimingadvanceandpowercontrolcommandfromservingbasestation.
Layer1Driver:
handlestheDSPandRadiocontrol
-》Drivers
MCU外围设备的驱动,如下:
SIM:
SubscriberIdentityModule
UART:
UniversalAsynchronousReceiver/Transmitter
SPI:
SerialPort Interface
LCD:
LiquidCrystalDisplay
GPIO:
GeneralPurpose Input/Output
GPT:
GeneralPurposeTimer
RTC:
RealTimeClock
WDT:
WatchDogTimer
PWM:
PulseWidthModulation
Alerter
Keypad
PMIC:
PowerManagementIC
BMT:
BatteryCharging Managementtask
AUXtask:
Auxiliarytask
ADCSched.:
Analogto DigitalConverterScheduler
USBtask:
TheUSB1.1protocolanddriver
IrDAtask:
TheIrDAanddriver
Camera:
Cameradriverforintegratingwith3rdpartycameramodule
MSDC:
Memorycarddriver,supportingSD,MMCcardsandMemoryStick
JPEGDecoder:
SoftwareforcontrollinghardwareJPEGdecoder
-》L2/L3/L4ProtocolStack
这部分包含大量的GSM/GPRS需求以及提供一个优秀的GSM/GPRS平台给应用程序。
本地MMI和远程PC通过AT命令可以方便的使用该软件平台。
详细的结构如下:
RMI:
远程MMI,比如PC端,可以使用AT命令通过串口与协议栈进行通讯。
FMI:
FeaturerichMMI,describedinthe abovesection.Thisistheproductionco-workedwithPixtel.
L4:
Layer4. L4isataskthroughwhichFMIand/orRMIcommunicatewithPS.L4taskincludesseveralsub-modules.
ATCI:
ATcommandinterpreter.InterpretstheAT commandsfromPCsideandcommandstheL4Ctodotherelativeactions.
L4A:
L4adaptationlayerforFMI.TheSAPbetweenFMIandL4Ais primitivebase.
L4C:
L4controlentity.Handlesallapplicationsrequest andresponse.
UEM:
Userequipmentsadaptation.Adaptationfordrivers, likeKeypad,LED,GPIO,Audio…etc.
PHB:
Phonebookmanagement.Handles thephonebooksrelatedprocessing,like:
sorting…etc.
SMU:
SIM managementunit.Handlethesecuritymanagement,andSTK.
CSM:
Circuit switchingprotocolstackmanagement.
RAC:
Registrationaccesscontrol.
SMSAL:
Shortmessageserviceapplicationlayer.
TCM:
Terminal contextmanagement.
NVRAM:
Non-volatileRAM.Thisisadaptationlayerto flashmemory.
SIM:
Subscriberidentitymodule.HandleSIMbehavioras ETSI11.11description.
DATA:
Circuitswitcheddataservice.Datatask includesseveralsub-modules.
FAX:
Group3Facsimile.
TDT:
Transparentcircuitswitchingdata.
L2R:
Layer2relayprotocolfor non-transparentcircuitswitchingdata.
RLP:
Radiolinkprotocolfor non-transparentcircuitswitchingdata.
CC:
Circuit-switchedcall control.
SS:
Supplementaryservice.
SMS:
Shortmessageservice.
SM:
Sessionmanagement.
MM/GMM:
Mobilitymanagement/GPRSmobility management.
SNDCP:
Subnetworkdependentconvergenceprotocol.
LLC:
Logicallinkcontrol.
RR:
Radioresourcemanagement.RRtaskincludes severalsub-modules.
RRM:
HandlescellselectionandPLMNselection.
RMPC:
HandlestheproceduresinIdle/Dedicatedstateincludingthe surroundingcellschemeandmeasurementreporting.
LAPDM:
Handlesthe proceduredefinedinGSMlayer2.
RLC:
Radiolinkcontrolprotocol.
MAC:
Mediumaccesscontrolprotocol.
MPAL:
AdaptationlayerforRR andL1A.
PPP:
PointtoPointprotocollayer.ThisisclientPPP layer.
-》MMI
这部分包括用户的接口架构,应用以及和协议栈的通讯。
Framework:
Thiscoversthat
OSL:
OSadaptationlayer
Task:
communicationwithL4task.
Filesystem:
communicationwith storagedevice.
GUI:
Thiscoversthat
Theme
UIcomponent
Categoryscreen
Font
Editor
T9orEziinputmethod.
AccessLCDdriver.
Customizationtool.
Application
Phonebook
Messages(SMS,EMS4.0,CB)
Callhistory
Setting.(Phonesetting,networksetting,securitysetup)
5kinds ofuserprofiles
Funandgames
Organizers
Services
Shortcuts
Incallmanagement.
Interruptevents,like charging,alarm.
-》WAP
如何编译
参考文档:
wcr-MTK_MakeBuild_Design_Customer_040930.pdf
-》编译环境
操作系统:
Windows2000,WinXP.推荐Windows2000withSP2orlater.
编译器:
ADS(ArmDeveloperSuite)v1.2.
Perl解析:
ActivePerl.推荐使用ActivePerl5.6.1版本
-》make.bat
Itwillparsecommandlinetodetermineprojectname,platform,andaction.Meanwhile,checking\makedirectoryexistornotandcheckingcommandlineargumentislegalornot.Afterchecking,toexecutebuildscriptGSM2.makbuildscripttoperformaction.
使用:
Usage:
Make[custom=customername][module]"
custom=Monza
project=GPRS(GSMonly)
action=new(clean,scan,compile,link)(default)
=update(scan,compile,link)
=remake(compile,link)
=clean(clean)
module=componentmodulename(nucleus,l1,...)
Example:
Tomake/buildnewGPRSproject,cleanalloldobjects,libraries,andlogfilesetc.,thenewactionalsocreatesnecessarydirectoriesandremovesalltemporaryfiles,andflusheslogfilesautomatically.
d:
>\pvcs\maui\mcu\Makecustom=MonzaGPRSnew
Toupdateprojectdependency,andcompilechangedmodules,link.Noticethat,updateandremakeactionwon’tremovetemporaryfiles,andflushlogfile.Buildresultswillbeappendafterlastlogfile.
d:
>\pvcs\maui\mcu\Makecustom=MonzaGPRSupdate
Torecompilechangedfiles,andlink
d:
>\pvcs\maui\mcu\Makecustom=MonzaGPRSremake
Tocleanallobjects,temporaryfiles,libraries,andexecutablebinaries.Meanwhilelogfilewillalsobeflushed.
d:
>\pvcs\maui\mcu\Makecustom=MonzaGPRSclean
Tocleandedicatedinitmodules’objectslibraries.Meanwhilelogfilewillalsobeflushed.
d:
>\pvcs\maui\mcu\Makecustom=MonzaGPRScleaninit
-》howtocustomizeyourbuildenvironment
!
!
!
Toaddsomemodulesintoorremovesomemodulesfromthebuildingprocedure.
Tocompletethiskindofconfiguration,itisnecessarytounderstandthefollowingvariablesinthemakefile
Monza_GPRS.mak
COMPLIST:
listallsourcecodemodulescanbebuiltto.lib.Ininitialcustomrelease,COMPLIST
shouldbethesumofCUS_REL_SRC_COMPandCUS_REL_PAR_SRC_COMP.Thefollowingistheinitialsettingincustomrelease.
ifeq($(strip$(CUSTOM_RELEASE)),TRUE)
COMPLIST=$(strip$(CUS_REL_SRC_COMP))
COMPLIST+=$(strip$(CUS_REL_PAR_SRC_COMP))
endif
CUS_REL_MTK_COMP:
listallmodulesprovidedwith.libonly.These.libareputin\mcu\mtk_libs.
Ifyouwanttoaddasourcemodule
1、addthemodule"xyz"(inlowercase)intoCOMPLIST.
ifeq($(strip$(CUSTOM_RELEASE)),TRUE)
COMPLIST=$(strip$(CUS_REL_SRC_COMP))
COMPLIST+=$(strip$(CUS_REL_PAR_SRC_COMP))
COMPLIST+=xyz
endif
2、addafolder“mcu\make\xyz”forxyz.lis,xyz.inc,xyz.pth,xyz.def.
-》编译生成的文件以及log
1.编译的log在目录C:
\code_100\build\a100中的MT6218B.log。
目录C:
\code_100\build\a100\log下的log文件为各个模块编译时生成的log。
2.编译生成的bin为C:
\code_100\build\a100下的a100_PCB01_gprs_MT6218B_FN.W05_12.bin。
3.编译生成的目标文件在C:
\code_100\build\a100\gprs\MT6218Bo目录中。
3、开发目录结构解析
参考文档:
wcr-MTK_MakeBuild_Design_Customer_040930.pdf
目录结构: