MTK架构及系统原理_第1页
MTK架构及系统原理_第2页
MTK架构及系统原理_第3页
MTK架构及系统原理_第4页
MTK架构及系统原理_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MTK平台

架构及系统原理

2009年7月LONGCHEERCONFIDENTIAL目录MTK平台介绍MTK系统架构MMI软件框架总体介绍MTK平台介绍MTK平台介绍什么是平台?平台是程序运行所依赖的环境。比如windows就是平台,它提供各种程序运行所以来的环境,不管是超级解霸还是msn还是ie都可以在windows上运行。当然windows是个大平台,很基础的。所以又叫操作系统。

MTK平台介绍什么是MTK平台?MTK平台是手机开发和运行的一个环境为MTK套片开发了一套软件方案MTK平台介绍MTK平台有哪些?MTK芯片:6227、6225、6230…. MTK平台介绍MTK平台操作系统?Nucleus

Nucleus

PLUS嵌入式操作系统是目前最受欢迎的操作系统Nucleus

PLUS

是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,Nucleus

PLUS

是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nucleus

PLUS

核心代码区一般不超过20K字节大小。Nucleus

PLUS

采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。除了少数一些特殊情况外,不允许从外部对组件内的全局进行访问。由于采用了软件组件的方法,Nucleus

PLUS

各个组件非常易于替换和复用。Nucleus

PLUS

的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等。MTK系统架构MTK系统架构设备架构芯片的外部设备及控制口MMI软件框架总体介绍MMI软件框架总体介绍ApplicationLayerUILayerOperatingSysten&protocolStackLayerFrameworkMMI基本架构MMI基本架构Applicationlayer(应用层)–用户定义的应用.Frameworklayer(框架层)管理信息和事件处理管理应用流程提供抽象的操作系统UIlayer(UI层)管理用户界面相关的功能。代码结构CustomerMMI代码结构和导航目录树Alarm:-头文件和源文件----闹铃应用程序。AsyncEvents:-包含头文件和源文件----处理异步事件如硬件和协议事件Audio:-包含头文件和源文件----音频管理Calendar:-包含头文件和源文件-----日历应用程序。CallManagement:-包含头文件和源文件-------电话通话管理代码结构和导航Calls:call管理CommonScreens:包含头文件和源文件共同屏幕使用的所有应用程序。DateTime:包日期和时间的应用函数。Framework:管理应用信息,流程控制和

操作系统应用FunandGames:FunandGames应用GPIO:操纵各种外部设备,如背光,振子,发光二极管模式。GUI:管理用户界面相关功能。代码结构和导航Inc:包含头文件对所有应用include头文件和宏定义MiscFramework:thePixtelMMIplatform管理字体和支持Unicode…Organizer:工具管理应用PhoneBook:电话本应用Profiles:情景模式应用SAT:SIM卡应用工具包Settings:设置应用程序Shortcuts:快捷键的应用ToDoList:代办事项应用……任务结构-浅析MMIQueueNETWORKSIMULATOR/L4NS/L4QueueOPERATINGSYSTEMLAYERMMITASK任务结构-浅析Tasks-任务

MMITask–管理应用程序。任务结构-浅析任务会从相关的消息队列中读取消息MMIQueue:L4向MMIQueue写消息,MMI从MMIQueue读取消息。L4/NSQueue:TheMMItask将MMI的事件写入L4/NSQueue,L4task/NetworkSimulator从L4/NSQueue中读取消息.任务结构-详解

(续)。MMITaskWaitsontheMMIqueue.通过协议栈从消息队列中提取消息。MessagesinthisqueueareputbytheProtocolStack.FrameworkLayer处理事件.FrameworkLayer通过回调回到应用层Applicationlayer使用UILayercategoryfunctions和themes做屏幕显示。任务之间事件流程-示例1两个例子:Keypresseventstoapplications.KeyPressEventNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任务之间事件流程-示例1TheProtocolstackwritesaneventtotheMMIQueueMMITaskreadsfromMMIqueueFrameworkmakesapplicationfunctioncallbackforlatesteventregistrationApplicationreceiveskeypressevent.任务之间事件流程-示例2Secondexample–RequesttoplaysoundfromapplicationsNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任务之间事件流程-示例2ApplicationmakescalltoframeworklayerforpassingmessagetoL4queue.FrameworkwritesmessagetotheL4Queue.TheL4taskreadseventfromtheL4queueandplaysrequestedsound.人机界面-简述EventHandlerHistoryOSLNVRAMFileSystemFILESYSTEMCATEGORYSCREENSUILAYERUIELEMENTS图像字体主体GRAPHICSLIBRARYWRAPPERSGRAPHICSLIBRARYIMPLEMENTATIONEventsFrom/ToL4人机界面-简述Frameworklayer(框架层)接收所有任务的事件帮助应用程序的控制屏幕流.提供封装的系统应用Framework的成员–EventHandlers–注册应用程序要求支持的各种活动Classificationofevents(事件分类)ProtocolEvents(协议事件)HighlightEvents(高亮事件)Keyevents(按键事件)人机界面-简述History–有助于保持屏幕流应用和存储中间数据OSL–提供所有操作系统应用的封装函数NVRAM–提供数据存储和检索数据的封装函数FileSystem–提供从文件系统数据存储和检索数据的封装函数人机界面-简述History–帮助应用程序记录屏幕流并存储屏幕数据OSL–提供依赖操作系统调用的封装函数,NVRAM–提供来自NVRAM的数据存储和检索数据的封装函数FileSystem–提供来自文件系统的数据存储和检索数据的封装函数人机界面-简述ApplicationLayer(应用层)包含用户定义的执行应用的逻辑代码人机界面-简述UILayer(界面处理)提供了用户界面功能,应用UI层包含的元素CategoryScreens封装各种屏幕的显示函数处理资源,如字符串ID和图像显示的保持独立的布局和外观屏幕的应用程序提供history接口人机界面-简述UIElements这一层提供了显示能力和使用各种用户界面元素,如按钮,滚动条,菜单等这些是界面中的控件Themes负责实施一套固定的外观和感觉功能的用户界面元素Themesconsistof物体形状和颜色字体使用(Fonttype,style,textcolor)其他显示属性人机界面-简述Fonts这是数据所使用的是图形库,显示屏幕上的字符Images一套独立的图像设备如:Icons,SplashscreensandWallpapersGraphicsLibrary(图形库)提供图形元包含显示字体和图像的功能下面介绍一下模块的架构及其应用

handlerFrameworkLayerEventHandlers–ProvidesAPIforapplicationtomanageeventhandlersatruntime.KeyboardEventhandlersAPI–TypicallyusedbyapplicationsandcategoryfunctionsSetkeyhandlerforparticularkeySetKeyhandlerforgroupofkeysExecutecurrentkeyhandlerforkeypresseventClearkeyhandlersforparticularkeyClearkeyhandlersforallkeysSpecialhandlingforPowerandEndKeyhandlerProtocolEventHandlerAPI–TypicallyusedbyapplicationsSetprotocoleventhandler.ExecuteCurrentprotocoleventhandler.Clearhandlerforspecificprotocolevent.Clearallprotocoleventhandler.Misc.HandlersExitHandlersSetExithandlerforparticularscreenExecuteExithandlerforcurrentscreenClearCurrentexithandlerhistoryHistoryDatabasecontainingsnapshotsofscreenImplementedasanondefaultLIFOStructureofhistorynodeScreenID-ofscreentobesavedEntryFunctionPointer–toredrawthescreenInputBuffer–tosaverunningtextdataforthisscreenGUIBuffer–tosaveUIrelatedinformationforthisscreenhistoryHistoryAPIAddNodetoHistoryDelete‘N’nodesfromhistoryGoback‘N’nodesinhistoryRetrievehistoryforascreenRetrieveinputbufferforscreenRetrieveUIbufferforscreenDumpHistoryfordebuggingInitializehistorySubtlefactsabouthistoryIsimplementedasstackFirstscreensavedafterbootupisneverremovedNewNodesareaddedtotheheadofhistoryOSLLayerOSLLayerProvidesabstractionoversystemcallstomakeMMIportableFollowingKernelobjectsarewrappedQueuesTimersQueueQueueAPICreateQueueoslMsgqidOslIntCreateMsgQ(PS8queue_name,U32max_msg_size,U32max_msgs)WriteToQueueOSLSTATUSOslIntWriteMsgQ(oslMsgqidmsgqid,void*msgPtr,U32msgSize,OSLWAITMODEwait_mode)ReadFromQueueOSLSTATUSOslIntReadMsgQ(oslMsgqidmsgqid,void*msgPtr,U32*msgSize,OSLWAITMODEwait_mode)TimerAPITimerAPIStartatimerStartTimer(U16timerid,U32delay,FuncPtrfuncPtr)StopatimerStopTimer(U16timerid)OSLSubtlefeaturesofOSLSkinisloadedasbitmap.ButtoncoordinatesandPressEvent(UporDown)arecalculatedandpassedtoKBDtask.KeyboardinterfacetotestthefunctionalityUILayerUILayerCategoryFunctions•ThecategorylayerconsistsofasetoffunctionsthatanapplicationcanusetodefineitsUserInterface.•EachCategoryscreencontainsthefollowingfunctions:-Functiontoenter(display)-Functiontoexit-FunctiontogetthesizeofHistory-FunctiontogettheHistoryDEBUG调试DebuggingSupportDebugLevelsDebugwindowisassociatedwithsimulatoronPCversionAPIprovidedforwritingdebugmessagestofileVariousdebuglevelsarepresentDEBUG_FATALDEBUG_ERRORDEBUG_INFORMATIONDEBUG_DUMPDEBUG_TEMPORARYDebugMacrosPRINT_FATAL(args)PRINT_ERROR(args)PRINT_INFORMATION(args)PRINT_DUMP(args)PRINT_TEMPORARY(args)DebuggingSupportExamplesPRINT_TEMPORARY(("File:[%s]Line:[%d]<KBD>\n",__FILE__,__LINE__));PRINT_INFORMATION(("\n***InprocessIncomingEvents\n"));剖析一个应用InitializationRoutineRoutinestosetupdataforuseinapplicationsProtocolEventandHighlightHandlersStrings,ImagesandMenuresourcesHighlightHandlersRoutinesthatexecuteuserdefinedcodeonhighlightingthemenuitem.EntryandExitFunctionsFunctionstomanageflowofscreenforanapplicationForwardflowofscreenismanagedbytheapplicationBackwardflowofscreenismanagedbyhistoryCustomizingAnApplicationThemenuitemsareinitializedbytheapplicationinthePopulatefunctionsusingtheADD_APPLICATION_MENUITEMmacro.ExampletoAddM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论