




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MTK平臺(tái)
架構(gòu)及系統(tǒng)原理
2009年7月LONGCHEERCONFIDENTIAL目錄MTK平臺(tái)介紹MTK系統(tǒng)架構(gòu)MMI軟件框架總體介紹MTK平臺(tái)介紹MTK平臺(tái)介紹什么是平臺(tái)?平臺(tái)是程序運(yùn)行所依賴的環(huán)境。比如windows就是平臺(tái),它提供各種程序運(yùn)行所以來(lái)的環(huán)境,不管是超級(jí)解霸還是msn還是ie都可以在windows上運(yùn)行。當(dāng)然windows是個(gè)大平臺(tái),很基礎(chǔ)的。所以又叫操作系統(tǒng)。
MTK平臺(tái)介紹什么是MTK平臺(tái)?MTK平臺(tái)是手機(jī)開(kāi)發(fā)和運(yùn)行的一個(gè)環(huán)境為MTK套片開(kāi)發(fā)了一套軟件方案MTK平臺(tái)介紹MTK平臺(tái)有哪些?MTK芯片:6227、6225、6230…. MTK平臺(tái)介紹MTK平臺(tái)操作系統(tǒng)?Nucleus
Nucleus
PLUS嵌入式操作系統(tǒng)是目前最受歡迎的操作系統(tǒng)Nucleus
PLUS
是為實(shí)時(shí)嵌入式應(yīng)用而設(shè)計(jì)的一個(gè)搶先式多任務(wù)操作系統(tǒng)內(nèi)核,其95%的代碼是用ANSIC寫(xiě)成的,因此非常便于移植并能夠支持大多數(shù)類(lèi)型的處理器。從實(shí)現(xiàn)角度來(lái)看,Nucleus
PLUS
是一組C函數(shù)庫(kù),應(yīng)用程序代碼與核心函數(shù)庫(kù)連接在一起,生成一個(gè)目標(biāo)代碼,下載到目標(biāo)板的RAM中或直接燒錄到目標(biāo)板的ROM中執(zhí)行。在典型的目標(biāo)環(huán)境中,Nucleus
PLUS
核心代碼區(qū)一般不超過(guò)20K字節(jié)大小。Nucleus
PLUS
采用了軟件組件的方法。每個(gè)組件具有單一而明確的目的,通常由幾個(gè)C及匯編語(yǔ)言模塊構(gòu)成,提供清晰的外部接口,對(duì)組件的引用就是通過(guò)這些接口完成的。除了少數(shù)一些特殊情況外,不允許從外部對(duì)組件內(nèi)的全局進(jìn)行訪問(wèn)。由于采用了軟件組件的方法,Nucleus
PLUS
各個(gè)組件非常易于替換和復(fù)用。Nucleus
PLUS
的組件包括任務(wù)控制、內(nèi)存管理、任務(wù)間通信、任務(wù)的同步與互斥、中斷管理、定時(shí)器及I/O驅(qū)動(dòng)等。MTK系統(tǒng)架構(gòu)MTK系統(tǒng)架構(gòu)設(shè)備架構(gòu)芯片的外部設(shè)備及控制口MMI軟件框架總體介紹MMI軟件框架總體介紹ApplicationLayerUILayerOperatingSysten&protocolStackLayerFrameworkMMI基本架構(gòu)MMI基本架構(gòu)Applicationlayer(應(yīng)用層)–用戶定義的應(yīng)用.Frameworklayer(框架層)管理信息和事件處理管理應(yīng)用流程提供抽象的操作系統(tǒng)UIlayer(UI層)管理用戶界面相關(guān)的功能。代碼結(jié)構(gòu)CustomerMMI代碼結(jié)構(gòu)和導(dǎo)航目錄樹(shù)Alarm:-頭文件和源文件----鬧鈴應(yīng)用程序。AsyncEvents:-包含頭文件和源文件----處理異步事件如硬件和協(xié)議事件Audio:-包含頭文件和源文件----音頻管理Calendar:-包含頭文件和源文件-----日歷應(yīng)用程序。CallManagement:-包含頭文件和源文件-------電話通話管理代碼結(jié)構(gòu)和導(dǎo)航Calls:call管理CommonScreens:包含頭文件和源文件共同屏幕使用的所有應(yīng)用程序。DateTime:包日期和時(shí)間的應(yīng)用函數(shù)。Framework:管理應(yīng)用信息,流程控制和
操作系統(tǒng)應(yīng)用FunandGames:FunandGames應(yīng)用GPIO:操縱各種外部設(shè)備,如背光,振子,發(fā)光二極管模式。GUI:管理用戶界面相關(guān)功能。代碼結(jié)構(gòu)和導(dǎo)航Inc:包含頭文件對(duì)所有應(yīng)用include頭文件和宏定義MiscFramework:thePixtelMMIplatform管理字體和支持Unicode…Organizer:工具管理應(yīng)用PhoneBook:電話本應(yīng)用Profiles:情景模式應(yīng)用SAT:SIM卡應(yīng)用工具包Settings:設(shè)置應(yīng)用程序Shortcuts:快捷鍵的應(yīng)用ToDoList:代辦事項(xiàng)應(yīng)用……任務(wù)結(jié)構(gòu)-淺析MMIQueueNETWORKSIMULATOR/L4NS/L4QueueOPERATINGSYSTEMLAYERMMITASK任務(wù)結(jié)構(gòu)-淺析Tasks-任務(wù)
MMITask–管理應(yīng)用程序。任務(wù)結(jié)構(gòu)-淺析任務(wù)會(huì)從相關(guān)的消息隊(duì)列中讀取消息MMIQueue:L4向MMIQueue寫(xiě)消息,MMI從MMIQueue讀取消息。L4/NSQueue:TheMMItask將MMI的事件寫(xiě)入L4/NSQueue,L4task/NetworkSimulator從L4/NSQueue中讀取消息.任務(wù)結(jié)構(gòu)-詳解
(續(xù))。MMITaskWaitsontheMMIqueue.通過(guò)協(xié)議棧從消息隊(duì)列中提取消息。MessagesinthisqueueareputbytheProtocolStack.FrameworkLayer處理事件.FrameworkLayer通過(guò)回調(diào)回到應(yīng)用層Applicationlayer使用UILayercategoryfunctions和themes做屏幕顯示。任務(wù)之間事件流程-示例1兩個(gè)例子:Keypresseventstoapplications.KeyPressEventNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任務(wù)之間事件流程-示例1TheProtocolstackwritesaneventtotheMMIQueueMMITaskreadsfromMMIqueueFrameworkmakesapplicationfunctioncallbackforlatesteventregistrationApplicationreceiveskeypressevent.任務(wù)之間事件流程-示例2Secondexample–RequesttoplaysoundfromapplicationsNETWORKSIMULATOR/L4MMIQueueFRAMEWORKAPPLICATION任務(wù)之間事件流程-示例2ApplicationmakescalltoframeworklayerforpassingmessagetoL4queue.FrameworkwritesmessagetotheL4Queue.TheL4taskreadseventfromtheL4queueandplaysrequestedsound.人機(jī)界面-簡(jiǎn)述EventHandlerHistoryOSLNVRAMFileSystemFILESYSTEMCATEGORYSCREENSUILAYERUIELEMENTS圖像字體主體GRAPHICSLIBRARYWRAPPERSGRAPHICSLIBRARYIMPLEMENTATIONEventsFrom/ToL4人機(jī)界面-簡(jiǎn)述Frameworklayer(框架層)接收所有任務(wù)的事件幫助應(yīng)用程序的控制屏幕流.提供封裝的系統(tǒng)應(yīng)用Framework的成員–EventHandlers–注冊(cè)應(yīng)用程序要求支持的各種活動(dòng)Classificationofevents(事件分類(lèi))ProtocolEvents(協(xié)議事件)HighlightEvents(高亮事件)Keyevents(按鍵事件)人機(jī)界面-簡(jiǎn)述History–有助于保持屏幕流應(yīng)用和存儲(chǔ)中間數(shù)據(jù)OSL–提供所有操作系統(tǒng)應(yīng)用的封裝函數(shù)NVRAM–提供數(shù)據(jù)存儲(chǔ)和檢索數(shù)據(jù)的封裝函數(shù)FileSystem–提供從文件系統(tǒng)數(shù)據(jù)存儲(chǔ)和檢索數(shù)據(jù)的封裝函數(shù)人機(jī)界面-簡(jiǎn)述History–幫助應(yīng)用程序記錄屏幕流并存儲(chǔ)屏幕數(shù)據(jù)OSL–提供依賴操作系統(tǒng)調(diào)用的封裝函數(shù),NVRAM–提供來(lái)自NVRAM的數(shù)據(jù)存儲(chǔ)和檢索數(shù)據(jù)的封裝函數(shù)FileSystem–提供來(lái)自文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)和檢索數(shù)據(jù)的封裝函數(shù)人機(jī)界面-簡(jiǎn)述ApplicationLayer(應(yīng)用層)包含用戶定義的執(zhí)行應(yīng)用的邏輯代碼人機(jī)界面-簡(jiǎn)述UILayer(界面處理)提供了用戶界面功能,應(yīng)用UI層包含的元素CategoryScreens封裝各種屏幕的顯示函數(shù)處理資源,如字符串ID和圖像顯示的保持獨(dú)立的布局和外觀屏幕的應(yīng)用程序提供history接口人機(jī)界面-簡(jiǎn)述UIElements這一層提供了顯示能力和使用各種用戶界面元素,如按鈕,滾動(dòng)條,菜單等這些是界面中的控件Themes負(fù)責(zé)實(shí)施一套固定的外觀和感覺(jué)功能的用戶界面元素Themesconsistof物體形狀和顏色字體使用(Fonttype,style,textcolor)其他顯示屬性人機(jī)界面-簡(jiǎn)述Fonts這是數(shù)據(jù)所使用的是圖形庫(kù),顯示屏幕上的字符Images一套獨(dú)立的圖像設(shè)備如:Icons,SplashscreensandWallpapersGraphicsLibrary(圖形庫(kù))提供圖形元包含顯示字體和圖像的功能下面介紹一下模塊的架構(gòu)及其應(yīng)用
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調(diào)試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"));剖析一個(gè)應(yīng)用InitializationRoutineRoutinestosetupdataforuseinapplicationsProtocolEventandHighlightHandlersStrings,ImagesandMenuresourcesHighlightHandlersRoutinesthatexecuteuserdefinedcodeonhighlightingthemenuitem.EntryandExitFunctionsFunctionstomanageflowofscreenforanapplicationForwardflowofscreenismanagedbytheapplicationBackwardflowofscreenismanagedbyhistoryCustomizingAnApplicationThemenuitemsareinitializedbytheapplicationinthePopulatefunctionsusingtheADD_APPLICATION_MENUITEMmacro.ExampletoAddM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)管理中的用戶安全管理策略試題及答案
- 班級(jí)風(fēng)氣與學(xué)習(xí)氛圍計(jì)劃
- 如何做好倉(cāng)庫(kù)的事故分析計(jì)劃
- 基礎(chǔ)知識(shí)軟件設(shè)計(jì)師必考試題及答案
- 2024年成都浦東發(fā)展銀行股份有限公司招聘真題
- 2024年古藺縣古藺縣事業(yè)單位招聘筆試真題
- 2024年甘肅金昌招聘公益性崗位筆試真題
- 2025屆青海省七下數(shù)學(xué)期末復(fù)習(xí)檢測(cè)試題含解析
- 精益創(chuàng)業(yè)與技術(shù)創(chuàng)新的融合試題及答案
- 2025屆江蘇省淮安洪澤縣聯(lián)考八年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 北京開(kāi)放大學(xué)2025年《企業(yè)統(tǒng)計(jì)》形考作業(yè)1答案
- 陜西建筑工程驗(yàn)收資料(A表)
- 社區(qū)共享充電樁計(jì)劃書(shū)
- 南開(kāi)大學(xué)-商業(yè)健康保險(xiǎn)與醫(yī)藥產(chǎn)業(yè)高質(zhì)量協(xié)同發(fā)展-團(tuán)體補(bǔ)充醫(yī)療保險(xiǎn)改革新視角-2025年3月20日
- 子女過(guò)繼協(xié)議書(shū)范本
- 注塑車(chē)間員工培訓(xùn)流程
- 物業(yè)管理業(yè)主滿意度反饋及改善措施
- 煤礦雨季三防培訓(xùn)課件
- 夾層作業(yè)安全培訓(xùn)
- 清洗清潔功能無(wú)人機(jī)
- 競(jìng)聘移動(dòng)培訓(xùn)師
評(píng)論
0/150
提交評(píng)論