MTK入门培训.docx
《MTK入门培训.docx》由会员分享,可在线阅读,更多相关《MTK入门培训.docx(15页珍藏版)》请在冰豆网上搜索。
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:
SerialPortInterface
LCD:
LiquidCrystalDisplay
GPIO:
GeneralPurposeInput/Output
GPT:
GeneralPurposeTimer
RTC:
RealTimeClock
WDT:
WatchDogTimer
PWM:
PulseWidthModulation
Alerter
Keypad
PMIC:
PowerManagementIC
BMT:
BatteryChargingManagementtask
AUXtask:
Auxiliarytask
ADCSched.:
AnalogtoDigitalConverterScheduler
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,describedintheabovesection.Thisistheproductionco-workedwithPixtel.
L4:
Layer4.L4isataskthroughwhichFMIand/orRMIcommunicatewithPS.L4taskincludesseveralsub-modules.
ATCI:
ATcommandinterpreter.InterpretstheATcommandsfromPCsideandcommandstheL4Ctodotherelativeactions.
L4A:
L4adaptationlayerforFMI.TheSAPbetweenFMIandL4Aisprimitivebase.
L4C:
L4controlentity.Handlesallapplicationsrequestandresponse.
UEM:
Userequipmentsadaptation.Adaptationfordrivers,likeKeypad,LED,GPIO,Audio…etc.
PHB:
Phonebookmanagement.Handlesthephonebooksrelatedprocessing,like:
sorting…etc.
SMU:
SIMmanagementunit.Handlethesecuritymanagement,andSTK.
CSM:
Circuitswitchingprotocolstackmanagement.
RAC:
Registrationaccesscontrol.
SMSAL:
Shortmessageserviceapplicationlayer.
TCM:
Terminalcontextmanagement.
NVRAM:
Non-volatileRAM.Thisisadaptationlayertoflashmemory.
SIM:
Subscriberidentitymodule.HandleSIMbehaviorasETSI11.11description.
DATA:
Circuitswitcheddataservice.Datataskincludesseveralsub-modules.
FAX:
Group3Facsimile.
TDT:
Transparentcircuitswitchingdata.
L2R:
Layer2relayprotocolfornon-transparentcircuitswitchingdata.
RLP:
Radiolinkprotocolfornon-transparentcircuitswitchingdata.
CC:
Circuit-switchedcallcontrol.
SS:
Supplementaryservice.
SMS:
Shortmessageservice.
SM:
Sessionmanagement.
MM/GMM:
Mobilitymanagement/GPRSmobilitymanagement.
SNDCP:
Subnetworkdependentconvergenceprotocol.
LLC:
Logicallinkcontrol.
RR:
Radioresourcemanagement.RRtaskincludesseveralsub-modules.
RRM:
HandlescellselectionandPLMNselection.
RMPC:
HandlestheproceduresinIdle/Dedicatedstateincludingthesurroundingcellschemeandmeasurementreporting.
LAPDM:
HandlestheproceduredefinedinGSMlayer2.
RLC:
Radiolinkcontrolprotocol.
MAC:
Mediumaccesscontrolprotocol.
MPAL:
AdaptationlayerforRRandL1A.
PPP:
PointtoPointprotocollayer.ThisisclientPPPlayer.
-》MMI
这部分包括用户的接口架构,应用以及和协议栈的通讯。
Framework:
Thiscoversthat
OSL:
OSadaptationlayer
Task:
communicationwithL4task.
Filesystem:
communicationwithstoragedevice.
GUI:
Thiscoversthat
Theme
UIcomponent
Categoryscreen
Font
Editor
T9orEziinputmethod.
AccessLCDdriver.
Customizationtool.
Application
Phonebook
Messages(SMS,EMS4.0,CB)
Callhistory
Setting.(Phonesetting,networksetting,securitysetup)
5kindsofuserprofiles
Funandgames
Organizers
Services
Shortcuts
Incallmanagement.
Interruptevents,likecharging,alarm.
-》WAP
2.如何编译
参考文档:
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
目录结构:
目录名称
目录描述
build
Generatedobject,libraries,executablebinaryandlogfilesdirectory.Thedirectorywillbecreated
automatically.Fordetails,see“GeneratedObjects,Libraries,ExecutableBinaryandLogFiles”sections.
make
Mainbuildscriptsandoptionfiledirectory.
nucleus
NucleusPlusRTOSsourcecodesdirectoryincludeC,Assembly,andincludedheaderfiles.
init
Systembootandhardwaredependentinitializationdirectory.Meanwhile,exceptionhandling,andinterruptserviceroutinedispatcherarealsoplacedhere.
inc
Systemboot,initialization,layer1,anddrivermodulescommonincludedheaderfilesdirectory.
l1
Layer1sourcecodesdirectory.
drv
Drivermodulessourcecodesdirectory.
custom
Custom’stask/modules’sourcesandheaderfiles
Fast_DL
Cmmfilesforfastdownload
tools
Miscellaneoustoolsusedinbuild/makeandcustomerreleaseprocedures
mtk_libs
ComponentlibrariesprovidedmyMediaTek.
tst
Databasefortrace
verno
Sourcecodeforkeepingversioninformation
4.开发工具的了解
参考目录《工具》中的文件。
工具:
-》Catcher
CatcherisaPC-sidetoolforMTKGSM/GPRSProducts.ThemainpurposeofCatcherisforloggingprimitivesanddebuginformation.EngineerscanuseCatchertoanalyzethebehaviorofmobilephon