MTK架构及系统原理Glim

上传人:wuxin****2020 文档编号:245052924 上传时间:2024-10-07 格式:PPT 页数:50 大小:998KB
返回 下载 相关 举报
MTK架构及系统原理Glim_第1页
第1页 / 共50页
MTK架构及系统原理Glim_第2页
第2页 / 共50页
MTK架构及系统原理Glim_第3页
第3页 / 共50页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,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,NucleusPLUS,嵌入式操作系统,是目前最受欢迎的操作系统,NucleusPLUS,是为实时嵌入式应用而设计的一个,抢先式多任务操作系统,内核,其,95,的代码是用,ANSIC,写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,,NucleusPLUS,是一组,C,函数库,,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的,RAM,中或直接烧录到目标板的,ROM,中执行。在典型的目标环境中,,NucleusPLUS,核心代码区一般不超过,20K,字节大小。,NucleusPLUS,采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个,C,及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。除了少数一些特殊情况外,不允许从外部对组件内的全局进行访问。由于采用了软件组件的方法,,NucleusPLUS,各个组件非常易于替换和复用。,NucleusPLUS,的组件包括,任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及,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 functions using the,ADD_APPLICATION_MENUITEM macro.,Example to Add Menu Items,ADD_APPLICATION_MENUITEM,(MITEM_OPT_PSEUDO,0,2,MITEM_INC_OPT_ANSWER,MITEM_INC_OPT_DEFLN,0,0,2,STR_OPT_PSEUDO, OPT_PSEUDO_ICN);,ADD_APPLICATION_MENUITEM,(MITEM_INC_OPT_ANSWER, MITEM_OPT_PSEUDO,0,0,0,1,MITEM_INC_OPT_ANSWER,ICN_OPT_ANSWER);,ADD_APPLICATION_MENUITEM,(MITEM_INC_OPT_DEFLN,MITEM_OPT_PSEUDO,0,0,0,2,MITEM_INC_OPT_DEFLN,ICN_OPT_CDEFN);,ADD_APPLICATION_STRING2,(MITEM_INC_OPT_ANSWER, Answer“,”answer string”);,ADD_APPLICATION_STRING2,(MITEM_INC_OPT_DEFLN, Deflect“,”call deflection string”);,ADD_APPLICATION_IMAGE2,(OPT_PSEUDO_ICN,.IMAGES16x12NoImage.bmp“,”no,mage”);,ADD_APPLICATION_IMAGE2,(ICN_OPT_ANSWER,.IMAGES16x12NoImage.bmp);,ADD_APPLICATION_IMAGE2,(ICN_OPT_CDEFN,.IMAGES16x12NoImage.bmp);,This code will provides a screen as follows,谢 谢,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!