




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MTK平臺
架構及系統(tǒng)原理
2009年7月LONGCHEERCONFIDENTIAL目錄MTK平臺介紹MTK系統(tǒng)架構MMI軟件框架總體介紹MTK平臺介紹MTK平臺介紹什么是平臺?平臺是程序運行所依賴的環(huán)境。比如windows就是平臺,它提供各種程序運行所以來的環(huán)境,不管是超級解霸還是msn還是ie都可以在windows上運行。當然windows是個大平臺,很基礎的。所以又叫操作系統(tǒng)。
MTK平臺介紹什么是MTK平臺?MTK平臺是手機開發(fā)和運行的一個環(huán)境為MTK套片開發(fā)了一套軟件方案MTK平臺介紹MTK平臺有哪些?MTK芯片:6227、6225、6230…. MTK平臺介紹MTK平臺操作系統(tǒng)?Nucleus
Nucleus
PLUS嵌入式操作系統(tǒng)是目前最受歡迎的操作系統(tǒng)Nucleus
PLUS
是為實時嵌入式應用而設計的一個搶先式多任務操作系統(tǒng)內核,其95%的代碼是用ANSIC寫成的,因此非常便于移植并能夠支持大多數(shù)類型的處理器。從實現(xiàn)角度來看,Nucleus
PLUS
是一組C函數(shù)庫,應用程序代碼與核心函數(shù)庫連接在一起,生成一個目標代碼,下載到目標板的RAM中或直接燒錄到目標板的ROM中執(zhí)行。在典型的目標環(huán)境中,Nucleus
PLUS
核心代碼區(qū)一般不超過20K字節(jié)大小。Nucleus
PLUS
采用了軟件組件的方法。每個組件具有單一而明確的目的,通常由幾個C及匯編語言模塊構成,提供清晰的外部接口,對組件的引用就是通過這些接口完成的。除了少數(shù)一些特殊情況外,不允許從外部對組件內的全局進行訪問。由于采用了軟件組件的方法,Nucleus
PLUS
各個組件非常易于替換和復用。Nucleus
PLUS
的組件包括任務控制、內存管理、任務間通信、任務的同步與互斥、中斷管理、定時器及I/O驅動等。MTK系統(tǒng)架構MTK系統(tǒng)架構設備架構芯片的外部設備及控制口MMI軟件框架總體介紹MMI軟件框架總體介紹ApplicationLayerUILayerOperatingSysten&protocolStackLayerFrameworkMMI基本架構MMI基本架構Applicationlayer(應用層)–用戶定義的應用.Frameworklayer(框架層)管理信息和事件處理管理應用流程提供抽象的操作系統(tǒng)UIlayer(UI層)管理用戶界面相關的功能。代碼結構CustomerMMI代碼結構和導航目錄樹Alarm:-頭文件和源文件----鬧鈴應用程序。AsyncEvents:-包含頭文件和源文件----處理異步事件如硬件和協(xié)議事件Audio:-包含頭文件和源文件----音頻管理Calendar:-包含頭文件和源文件-----日歷應用程序。CallManagement:-包含頭文件和源文件-------電話通話管理代碼結構和導航Calls:call管理CommonScreens:包含頭文件和源文件共同屏幕使用的所有應用程序。DateTime:包日期和時間的應用函數(shù)。Framework:管理應用信息,流程控制和
操作系統(tǒng)應用FunandGames:FunandGames應用GPIO:操縱各種外部設備,如背光,振子,發(fā)光二極管模式。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中讀取消息.任務結構-詳解
(續(xù))。MMITaskWaitsontheMMIqueue.通過協(xié)議棧從消息隊列中提取消息。MessagesinthisqueueareputbytheProtocolStack.FrameworkLayer處理事件.FrameworkLayer通過回調回到應用層Applicationlayer使用UILayercategoryfunctions和themes做屏幕顯示。任務之間事件流程-示例1兩個例子:Keypresseventstoapplications.KeyPressEventNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任務之間事件流程-示例1TheProtocolstackwritesaneventtotheMMIQueueMMITaskreadsfromMMIqueueFrameworkmakesapplicationfunctioncallbackforlatesteventregistrationApplicationreceiveskeypressevent.任務之間事件流程-示例2Secondexample–RequesttoplaysoundfromapplicationsNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任務之間事件流程-示例2ApplicationmakescalltoframeworklayerforpassingmessagetoL4queue.FrameworkwritesmessagetotheL4Queue.TheL4taskreadseventfromtheL4queueandplaysrequestedsound.人機界面-簡述EventHandlerHistoryOSLNVRAMFileSystemFILESYSTEMCATEGORYSCREENSUILAYERUIELEMENTS圖像字體主體GRAPHICSLIBRARYWRAPPERSGRAPHICSLIBRARYIMPLEMENTATIONEventsFrom/ToL4人機界面-簡述Frameworklayer(框架層)接收所有任務的事件幫助應用程序的控制屏幕流.提供封裝的系統(tǒng)應用Framework的成員–EventHandlers–注冊應用程序要求支持的各種活動Classificationofevents(事件分類)ProtocolEvents(協(xié)議事件)HighlightEvents(高亮事件)Keyevents(按鍵事件)人機界面-簡述History–有助于保持屏幕流應用和存儲中間數(shù)據(jù)OSL–提供所有操作系統(tǒng)應用的封裝函數(shù)NVRAM–提供數(shù)據(jù)存儲和檢索數(shù)據(jù)的封裝函數(shù)FileSystem–提供從文件系統(tǒng)數(shù)據(jù)存儲和檢索數(shù)據(jù)的封裝函數(shù)人機界面-簡述History–幫助應用程序記錄屏幕流并存儲屏幕數(shù)據(jù)OSL–提供依賴操作系統(tǒng)調用的封裝函數(shù),NVRAM–提供來自NVRAM的數(shù)據(jù)存儲和檢索數(shù)據(jù)的封裝函數(shù)FileSystem–提供來自文件系統(tǒng)的數(shù)據(jù)存儲和檢索數(shù)據(jù)的封裝函數(shù)人機界面-簡述ApplicationLayer(應用層)包含用戶定義的執(zhí)行應用的邏輯代碼人機界面-簡述UILayer(界面處理)提供了用戶界面功能,應用UI層包含的元素CategoryScreens封裝各種屏幕的顯示函數(shù)處理資源,如字符串ID和圖像顯示的保持獨立的布局和外觀屏幕的應用程序提供history接口人機界面-簡述UIElements這一層提供了顯示能力和使用各種用戶界面元素,如按鈕,滾動條,菜單等這些是界面中的控件Themes負責實施一套固定的外觀和感覺功能的用戶界面元素Themesconsistof物體形狀和顏色字體使用(Fonttype,style,textcolor)其他顯示屬性人機界面-簡述Fonts這是數(shù)據(jù)所使用的是圖形庫,顯示屏幕上的字符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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 10自然世界與人工世界 ( 教學設計)一年級上冊科學蘇教版
- 8安全記心上《“119”的警示》(教學設計)-部編版道德與法治三年級上冊
- 某污水管網(wǎng)及泵站工程施工組織設計方案
- 2023-2024學年北京版(2013)小學信息技術第一冊 第6課認識文件和文件夾(教學設計)
- 2024年五年級語文下冊 第二單元 5 草船借箭教學實錄 新人教版
- 2024-2025學年新教材高中生物 第二章 組成細胞的分子 第4節(jié) 蛋白質是生命活動的主要承擔者(1)教學實錄 新人教版必修1
- 2023三年級數(shù)學上冊 二 兩、三位數(shù)乘一位數(shù) 3估算教學實錄 冀教版
- 8的乘法口訣(教學設計) -2024-2025學年二年級上冊數(shù)學人教版
- 2024年五年級語文下冊 第二單元 6 景陽岡教學實錄 新人教版
- 2024-2025學年新教材高中英語 Unit 1 Food for thought表達 作文巧升格教學實錄 外研版必修第二冊
- 物權法教案完整版本
- 財務用發(fā)票分割單原始憑證 發(fā)票分割單范本
- 《數(shù)字電子技術基礎》 題庫 各章測試題習題答案
- 2023入團積極分子考試題庫(附答案)
- 中國慢性病報告2023
- 產(chǎn)品合格證出廠合格證A4打印模板
- 《創(chuàng)業(yè)融資》課件
- 遼寧省高中學業(yè)水平合格性考試生物試卷(附帶答案)
- 《俞凈意公遇灶神記》白話譯文
- 定積分的概念說課課件
- 中國教育行業(yè)調查報告-《中國教育行業(yè)白皮書》
評論
0/150
提交評論