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

下载本文档

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

文档简介

,MTK平台 架构及系统原理,讲解:Glimon 2009年7月,LONGCHEER CONFIDENTIAL,目录,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软件框架总体介绍,Application Layer,UI Layer,Operating Systen & protocol Stack Layer,Framework,MMI基本架构,MMI基本架构,Application layer (应用层) 用户定义的应用 . Framework layer(框架层) 管理信息和事件处理 管理应用流程 提供抽象的操作系统 UI layer (UI层) 管理用户界面相关的功能。,代码结构,Customer MMI,代码结构和导航,目录树 Alarm:-头文件和源文件-闹铃应用程序。 AsyncEvents :-包含头文件和源文件-处理异步事件如硬件和协议事件 Audio:-包含头文件和源文件-音频管理 Calendar :-包含头文件和源文件-日历应用程序。 CallManagement :-包含头文件和源文件-电话通话管理,代码结构和导航,Calls:call管理 CommonScreens:包含头文件和源文件共同屏幕使用的所有应用程序。 Date Time:包日期和时间的应用函数。 Framework :管理应用信息 ,流程控制和 操作系统应用 FunandGames: FunandGames应用 GPIO:操纵各种外部设备,如背光,振子,发光二极管模式。 GUI :管理用户界面相关功能。,代码结构和导航,Inc:包含头文件对所有应用include 头文件和宏定义 MiscFramework :the Pixtel MMI platform 管理字体和支持Unicode Organizer:工具管理应用 PhoneBook:电话本应用 Profiles:情景模式应用,SAT:SIM卡应用工具包 Settings:设置应用程序 Shortcuts:快捷键的应用 ToDoList:代办事项应用 ,任务结构-浅析,MMI Queue,NETWORK SIMULATOR/ L4,NS/L4 Queue,OPERATING SYSTEM LAYER,MMI TASK,任务结构-浅析,Tasks-任务 MMI Task 管理应用程序。,任务结构-浅析,任务会从相关的消息队列中读取消息 MMI Queue : L4向MMI Queue 写消息,MMI 从MMI Queue 读取消息。 L4 / NS Queue : The MMI task 将MMI 的事件写入L4 / NS Queue , L4 task / Network Simulator从L4 / NS Queue中读取消息.,任务结构-详解 (续) 。,MMI Task Waits on the MMI queue. 通过协议栈从消息队列中提取消息。Messages in this queue are put by the Protocol Stack. Framework Layer 处理事件. Framework Layer 通过回调回到应用层 Application layer 使用UI Layer category functions 和themes 做屏幕显示。,任务之间事件流程-示例1,两个例子: Key press events to applications.,Key Press Event,NETWORK SIMULATOR/ L4,MMI Queue,FRAME WORK,APPLIC ATION,任务之间事件流程-示例1,The Protocol stack writes an event to the MMI Queue MMI Task reads from MMI queue Framework makes application function callback for latest event registration Application receives key press event.,任务之间事件流程-示例2,Second example Request to play sound from applications,NETWORK SIMULATOR/ L4,MMI Queue,FRAME WORK,APPLIC ATION,任务之间事件流程-示例2,Application makes call to framework layer for passing message to L4 queue. Framework writes message to the L4 Queue. The L4 task reads event from the L4 queue and plays requested sound.,人机界面-简述,Event Handler,History,OSL,NVRAM,File System,F I L E S Y S T E M,C A T E G O R Y S C R E E N S,U I L A Y E R,U I E L E M E N T S,图像,字体,主体,GRAPHICS LIBRARY WRAPPERS,GRAPHICS LIBRARY IMPLEMENT ATION,Events From / To L4,人机界面-简述,Framework layer(框架层) 接收所有任务的事件 帮助应用程序的控制屏幕流. 提供封装的系统应用 Framework的成员 Event Handlers 注册应用程序要求支持的各种活动Classification of events (事件分类) Protocol Events (协议事件) Highlight Events (高亮事件) Key events (按键事件),人机界面-简述,History 有助于保持屏幕流应用和存储中间数据 OSL 提供所有操作系统应用的封装函数 NVRAM 提供数据存储和检索数据的封装函数 File System 提供从文件系统数据存储和检索数据的封装函数,人机界面-简述,History 帮助应用程序记录屏幕流并存储屏幕数据 OSL 提供依赖操作系统调用的封装函数, NVRAM 提供来自NVRAM 的数据存储和检索数据的封装函数 File System 提供来自文件系统的数据存储和检索数据的封装函数,人机界面-简述,Application Layer(应用层) 包含用户定义的执行应用的逻辑代码,人机界面-简述,UI Layer(界面处理) 提供了用户界面功能,应用 UI 层包含的元素 Category Screens 封装各种屏幕的显示函数 处理资源,如字符串ID和图像显示的 保持独立的布局和外观屏幕的应用程序 提供history接口,人机界面-简述,UI Elements 这一层提供了显示能力和使用各种用户界面元素,如按钮,滚动条,菜单等 这些是界面中的控件 Themes 负责实施一套固定的外观和感觉功能的用户界面元素 Themes consist of 物体形状和颜色 字体使用( Font type, style, text color ) 其他显示属性,人机界面-简述,Fonts 这是数据所使用的是图形库,显示屏幕上的字符 Images 一套独立的图像设备 如: Icons, Splash screens and Wallpapers Graphics Library (图形库) 提供图形元 包含显示字体和图像的功能,下面介绍一下模块的架构及其应用,handler,Framework Layer Event Handlers Provides API for application to manage event handlers at run time. Keyboard Event handlers API Typically used by applications and category functions Set key handler for particular key Set Key handler for group of keys Execute current key handler for key press event Clear key handlers for particular key Clear key handlers for all keys Special handling for Power and End Key,handler,Protocol Event Handler API Typically used by applications Set protocol event handler. Execute Current protocol event handler. Clear handler for specific protocol event. Clear all protocol event handler. Misc. Handlers Exit Handlers Set Exit handler for particular screen Execute Exit handler for current screen Clear Current exit handler,history,History Database containing snapshots of screen Implemented as a non default LIFO Structure of history node Screen ID - of screen to be saved Entry Function Pointer to redraw the screen Input Buffer to save running text data for this screen GUI Buffer to save UI related information for this screen,history,History API Add Node to History Delete N nodes from history Go back N nodes in history Retrieve history for a screen Retrieve input buffer for screen Retrieve UI buffer for screen Dump History for debugging Initialize history Subtle facts about history Is implemented as stack First screen saved after boot up is never removed New Nodes are added to the head of history,OSL Layer,OSL Layer Provides abstraction over system calls to make MMI portable Following Kernel objects are wrapped Queues Timers,Queue,Queue API Create Queue oslMsgqid OslIntCreateMsgQ (PS8 queue_name,U32 max_msg_size,U32 max_msgs) Write To Queue OSLSTATUS OslIntWriteMsgQ(oslMsgqid msgqid,void *msgPtr,U32 msgSize, OSLWAITMODE wait_mode) Read From Queue OSLSTATUS OslIntReadMsgQ(oslMsgqid msgqid,void *msgPtr, U32 *msgSize,OSLWAITMODE wait_mode),Timer API,Timer API Start a timer StartTimer(U16 timerid, U32 delay, FuncPtr funcPtr) Stop a timer StopTimer(U16 timerid),OSL,Subtle features of OSL Skin is loaded as bitmap. Button coordinates and Press Event (Up or Down) are calculated and passed to KBD task. Keyboard interface to test the functionality,UI Layer,UI Layer Category Functions The category layer consists of a set of functions that an application can use to define its User Interface. Each Category screen contains the following functions: - Function to enter (display) - Function to exit - Function to get the size of History - Function to get the History,DEBUG,调试,Debugging Support,Debug Levels Debug window is associated with simulator on PC version API provided for writing debug messages to file Various debug levels are present DEBUG_FATAL DEBUG_ERROR DEBUG_INFORMATION DEBUG_DUMP DEBUG_TEMPORARY Debug Macros PRINT_FATAL (args) PRINT_ERROR (args) PRINT_INFORMATION (args) PRINT_DUMP (args) PRINT_TEMPORARY (args),Debugging Support,Examples PRINT_TEMPORARY(“File: %s Line: %d n“,_FILE_,_LINE_); PRINT_INFORMATION (“n * In processIncomingEventsn“);,剖析一个应用,Initialization Routine Routines to setup data for use in applications Protocol Event and Highlight Handlers Strings, Images and Menu resources Highlight Handlers Routines that execute user defined code on high lighting the menu item. Entry and Exit Functions Functions to manage flow of screen for an application Forward flow of screen is managed by the application Backward flow of screen is managed by history,Customizing An Application,The menu items are initialized by the application in the Populate

温馨提示

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

评论

0/150

提交评论