嵌入式系統(tǒng)和應(yīng)用課件_第1頁
嵌入式系統(tǒng)和應(yīng)用課件_第2頁
嵌入式系統(tǒng)和應(yīng)用課件_第3頁
嵌入式系統(tǒng)和應(yīng)用課件_第4頁
嵌入式系統(tǒng)和應(yīng)用課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、嵌入式系統(tǒng)及應(yīng)用第三章嵌入式軟件系統(tǒng)基礎(chǔ)主要內(nèi)容嵌入式軟件系統(tǒng)概述嵌入式操作系統(tǒng)嵌入式軟件開發(fā)工具(在嵌入式系統(tǒng)軟件開發(fā)一章中介紹)嵌入式Java第一節(jié)嵌入式軟件系統(tǒng)概述軟件系統(tǒng)嵌入式軟件系統(tǒng)的分類嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)嵌入式軟件運行流程軟件系統(tǒng)軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關(guān)數(shù)據(jù)(data)及其說明文檔(document)。 其中:程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)維護和使用有關(guān)的各種圖文資料。軟件系統(tǒng)軟件是一種邏輯實體,具有抽象性。 這

2、個特點使它與其它工程對象有著明顯的差異。人們可以把它記錄在紙上、內(nèi)存、和磁盤、光盤上,但卻無法看到軟件本身的形態(tài),必須通過觀察、分析、思考、判斷,才能了解它的功能、性能等特性。 軟件產(chǎn)品的特性軟件沒有明顯的制造過程。 一旦研制開發(fā)成功,就可以大量拷貝同一內(nèi)容的副本。所以對軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下工夫。 軟件在使用過程中,沒有磨損、老化的問題。 軟件在生存周期后期不會因為磨損而老化,但會為了適應(yīng)硬件、環(huán)境以及需求的變化而進行修改,而這些修改有不可避免的引入錯誤,導(dǎo)致軟件失效率升高,從而使的軟件退化。當(dāng)修改的成本變得難以接受時,軟件就被拋棄。軟件對硬件和環(huán)境有著不同程度的依賴性。這

3、導(dǎo)致了軟件移植的問題。軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低。軟件是復(fù)雜的,而且以后會更加復(fù)雜。 軟件是人類有史以來生產(chǎn)的復(fù)雜度最高的工業(yè)產(chǎn)品。軟件涉及人類社會的各行各業(yè)、方方面面,軟件開發(fā)常常涉及其它領(lǐng)域的專門知識,這對軟件工程師提出了很高的要求。 軟件的成本相當(dāng)昂貴。 軟件開發(fā)需要投入大量、高強度的腦力勞動,成本非常高,風(fēng)險也大?,F(xiàn)在軟件的開銷已大大超過了硬件的開銷。 軟件工作牽涉到很多社會因素。許多軟件的開發(fā)和運行涉及機構(gòu)、體制和管理方式等問題,還會涉及到人們的觀念和心理。這些人的因素,常常成為軟件開發(fā)的困難所在,直接影響到項目的成敗。 嵌入式軟件系統(tǒng)的分類嵌入式軟件

4、系統(tǒng)軟件支撐軟件應(yīng)用軟件控制、管理計算機系統(tǒng)的資源嵌入式操作系統(tǒng)嵌入式中間件(CORBA、 Java)等等輔助軟件開發(fā)的工具系統(tǒng)分析設(shè)計工具仿真開發(fā)工具交叉開發(fā)工具測試工具配置管理工具維護工具等面向應(yīng)用領(lǐng)域手機軟件路由器軟件交換機軟件飛控軟件等嵌入式軟件系統(tǒng)的分類從運行平臺來分,嵌入式軟件可以分為運行在開發(fā)平臺上的軟件:設(shè)計、開發(fā)、測試工具等。運行在嵌入式系統(tǒng)上的軟件:嵌入式操作系統(tǒng)、應(yīng)用程序、驅(qū)動程序及部分開發(fā)工具。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)硬件應(yīng)用層驅(qū)動層操作系統(tǒng)層中間件層板級初始化FLASH驅(qū)動RTC/定時器驅(qū)動串口 驅(qū)動以太網(wǎng)驅(qū)動LCD 驅(qū)動鍵盤驅(qū)動其他驅(qū)動內(nèi)核TCP/IP網(wǎng)絡(luò)系統(tǒng)文件系

5、統(tǒng)嵌入式GUI電源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向應(yīng)用領(lǐng)域的中間件應(yīng)用任務(wù)1應(yīng)用任務(wù)2應(yīng)用任務(wù)n嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)驅(qū)動層 驅(qū)動層是直接與硬件打交道的一層,它對操作系統(tǒng)和應(yīng)用提供所需的驅(qū)動的支持。該層主要包括三種類型的程序。板級初始化程序 這些程序在嵌入式系統(tǒng)上電后初始化系統(tǒng)的硬件環(huán)境,包括嵌入式微處理器、存儲器、中斷控制器、DMA、定時器等的初始化。 與系統(tǒng)軟件相關(guān)的驅(qū)動這類驅(qū)動是操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動程序,它們的開發(fā)要按照系統(tǒng)軟件的要求進行。目前操作系統(tǒng)內(nèi)核所需的硬件支持一般都已集成在嵌入式微處理器中了,因此操作系統(tǒng)廠商提供的內(nèi)核驅(qū)動一般不用修改。與應(yīng)

6、用軟件相關(guān)的驅(qū)動 與應(yīng)用軟件相關(guān)的驅(qū)動不一定需要與操作系統(tǒng)連接,這些驅(qū)動的設(shè)計和開發(fā)由應(yīng)用決定。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)操作系統(tǒng)層操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式GUI系統(tǒng)和電源管理等部分。其中嵌入式內(nèi)核是基礎(chǔ)和必備的部分,其他部分要根據(jù)嵌入式系統(tǒng)的需要來確定。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)中間件層 目前在一些復(fù)雜的嵌入式系統(tǒng)中也開始采用中間件技術(shù),主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向應(yīng)用領(lǐng)域的中間件軟件。如基于嵌入式CORBA的應(yīng)用于軟件無線電臺的應(yīng)用中間件SCA(Software Core Architecture)等。嵌入式

7、軟件系統(tǒng)的體系結(jié)構(gòu)應(yīng)用層 應(yīng)用層軟件主要由多個相對獨立的應(yīng)用任務(wù)組成每個應(yīng)用任務(wù)完成特定的工作,如I/O任務(wù)、計算的任務(wù)、通信任務(wù)等,由操作系統(tǒng)調(diào)度各個任務(wù)的運行。 嵌入式軟件運行流程上電復(fù)位系統(tǒng)升級引導(dǎo)/升級系統(tǒng)系統(tǒng)初始化應(yīng)用初始化多任務(wù)應(yīng)用板級初始化遠程升級本地升級基于多任務(wù)操作系統(tǒng)的嵌入式軟件的主要運行流程該運行流程主要分為5個階段嵌入式軟件運行流程上電復(fù)位、板級初始化階段嵌入式系統(tǒng)上電復(fù)位后完成板級初始化工作。板級初始化程序具有完全的硬件特性,一般采用匯編語言實現(xiàn)。不同的嵌入式系統(tǒng),板級初始化時要完成的工作具有一定的特殊性,但以下工作一般是必須完成的:CPU中堆棧指針寄存器的初始化。B

8、SS段(Block Storage Space表示未被初始化的數(shù)據(jù))的初始化。CPU芯片級的初始化:中斷控制器、內(nèi)存等的初始化。返回嵌入式軟件運行流程系統(tǒng)引導(dǎo)/升級階段根據(jù)需要分別進入系統(tǒng)軟件引導(dǎo)階段或系統(tǒng)升級階段。軟件可通過測試通信端口數(shù)據(jù)或判斷特定開關(guān)的方式分別進入不同階段。 嵌入式軟件運行流程系統(tǒng)引導(dǎo)階段系統(tǒng)引導(dǎo)有幾種情況:將系統(tǒng)軟件從NOR Flash中讀取出來加載到RAM中運行:這種方式可以解決成本及Flash速度比RAM慢的問題。軟件可壓縮存儲在Flash中。不需將軟件引導(dǎo)到RAM中而是讓其直接在NorFlash上運行,進入系統(tǒng)初始化階段。將軟件從外存(如NandFlash、CF卡

9、、MMC等)中讀取出來加載到RAM中運行:這種方式的成本更低。嵌入式軟件運行流程系統(tǒng)升級階段進入系統(tǒng)升級階段后系統(tǒng)可通過網(wǎng)絡(luò)進行遠程升級或通過串口進行本地升級。遠程升級一般支持TFTP、FTP、HTTP等方式。本地升級可通過Console口使用超級終端或特定的升級軟件進行。返回嵌入式軟件運行流程系統(tǒng)初始化階段 在該階段進行操作系統(tǒng)等系統(tǒng)軟件各功能部分必需的初始化工作,如根據(jù)系統(tǒng)配置初始化數(shù)據(jù)空間、初始化系統(tǒng)所需的接口和外設(shè)等。系統(tǒng)初始化階段需要按特定順序進行,如首先完成內(nèi)核的初始化,然后完成網(wǎng)絡(luò)、文件系統(tǒng)等的初始化,最后完成中間件等的初始化工作。 返回嵌入式軟件運行流程應(yīng)用初始化階段在該階段進

10、行應(yīng)用任務(wù)的創(chuàng)建,信號量、消息隊列的創(chuàng)建和與應(yīng)用相關(guān)的其它初始化工作。多任務(wù)應(yīng)用運行階段各種初始化工作完成后,系統(tǒng)進入多任務(wù)狀態(tài),操作系統(tǒng)按照已確定的算法進行任務(wù)的調(diào)度,各應(yīng)用任務(wù)分別完成特定的功能。 第二節(jié)嵌入式操作系統(tǒng)概述嵌入式操作系統(tǒng)的演變嵌入式操作系統(tǒng)分類嵌入式操作系統(tǒng)體系結(jié)構(gòu)嵌入式操作系統(tǒng)的組成嵌入式實時操作系統(tǒng)C/OS-II簡介概述嵌入式操作系統(tǒng)可以統(tǒng)稱為應(yīng)用在嵌入式系統(tǒng)的操作系統(tǒng),它具有一般操作系統(tǒng)的功能,同時具有嵌入式軟件的特點,主要有:可固化 可配置、可剪裁 獨立的板級支持包,可修改 不同的CPU有不同的版本 應(yīng)用的開發(fā)需要有集成的交叉開發(fā)工具概述近十年來,嵌入式操作系統(tǒng)得到

11、飛速的發(fā)展從支持8位微處理器到16位、32位甚至64位微處理器;從支持單一品種的微處理器芯片到支持多品種微處理器芯片;從只有內(nèi)核到除了內(nèi)核外還提供其他功能模塊,如文件系統(tǒng),TCP/IP網(wǎng)絡(luò)系統(tǒng),窗口圖形系統(tǒng)等。隨著嵌入式系統(tǒng)應(yīng)用領(lǐng)域的擴展,目前嵌入式操作系統(tǒng)的市場在不斷細分,出現(xiàn)了針對不同領(lǐng)域的產(chǎn)品,這些產(chǎn)品按領(lǐng)域的要求和標(biāo)準(zhǔn)提供特定的功能。嵌入式操作系統(tǒng)的演變*Percent of total software supplied by RTOS vendor in a typical embedded device10%*Kernel30%*KernelNetworkingFile Syst

12、em75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplication90%*KernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser / GUI嵌入式操作系統(tǒng)的演變在嵌入式系統(tǒng)的發(fā)展過程中,從操

13、作系統(tǒng)的角度來看,大致經(jīng)歷了以下幾個階段:無操作系統(tǒng)階段簡單操作系統(tǒng)階段實時操作系統(tǒng)階段面向Internet的階段嵌入式操作系統(tǒng)的演變無操作系統(tǒng)階段嵌入式系統(tǒng)最初的應(yīng)用是基于單片機的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測、伺服、設(shè)備指示等功能,通常應(yīng)用于各類工業(yè)控制和飛機、導(dǎo)彈等武器裝備中,一般沒有操作系統(tǒng)的支持,只能通過匯編語言對系統(tǒng)進行直接控制,運行結(jié)束后再清除內(nèi)存。這些裝置雖然已經(jīng)初步具備了嵌入式的應(yīng)用特點,但僅僅只是使用8位的CPU芯片來執(zhí)行一些單線程的程序,因此嚴格地說還談不上系統(tǒng)的概念。這一階段嵌入式系統(tǒng)的主要特點是:系統(tǒng)結(jié)構(gòu)和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用

14、戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應(yīng)用,但卻無法滿足現(xiàn)今對執(zhí)行效率、存儲容量都有較高要求的信息家電等場合的需要。嵌入式操作系統(tǒng)的演變簡單操作系統(tǒng)階段20世紀80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應(yīng)用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時,嵌入式系統(tǒng)的程序員也開始基于一些簡單的操作系統(tǒng)開發(fā)嵌入式應(yīng)用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。這一階段嵌入式系統(tǒng)的主要特點是:出現(xiàn)了大量高可靠、低功

15、耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式操作系統(tǒng)開始出現(xiàn)并得到迅速發(fā)展。此時的嵌入式操作系統(tǒng)雖然還比較簡單,但已經(jīng)初步具有了一定的兼容性和擴展性,內(nèi)核精巧且效率高,主要用來控制系統(tǒng)負載以及監(jiān)控應(yīng)用程序的運行。嵌入式操作系統(tǒng)的演變實時操作系統(tǒng)階段20世紀90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進一步飛速發(fā)展,而面向?qū)崟r信號處理算法的DSP產(chǎn)品則向著高速度、高精度、低功耗的方向發(fā)展。隨著硬件實時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴大,逐漸形成了實時多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。這一階段嵌入式系統(tǒng)的主要特點是

16、:操作系統(tǒng)的實時性得到了很大改善,已經(jīng)能夠運行在各種不同類型的微處理器上,具有高度的模塊化和擴展性。此時的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡單。嵌入式操作系統(tǒng)的演變面向Internet的階段21世紀無疑將是一個網(wǎng)絡(luò)的時代,將嵌入式系統(tǒng)應(yīng)用到各種網(wǎng)絡(luò)環(huán)境中去的呼聲自然也越來越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的進一步發(fā)展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入

17、式技術(shù)的真正未來。信息時代和數(shù)字時代的到來,為嵌入式系統(tǒng)的發(fā)展帶來了巨大的機遇,同時也對嵌入式系統(tǒng)廠商提出了新的挑戰(zhàn)。嵌入式操作系統(tǒng)的演變目前,嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的研究和應(yīng)用產(chǎn)生了如下新的顯著變化:新的微處理器層出不窮,嵌入式操作系統(tǒng)自身結(jié)構(gòu)的設(shè)計更加便于移植,能夠在短時間內(nèi)支持更多的微處理器。 嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式操作系統(tǒng)本身,同時還要提供強大的軟件開發(fā)支持包。 通用計算機上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫、移動代理、實時CORBA、Java等,嵌入式軟件平臺得到

18、進一步完善。 嵌入式操作系統(tǒng)的演變各類嵌入式Linux操作系統(tǒng)迅速發(fā)展,由于具有源代碼開放、系統(tǒng)內(nèi)核小、執(zhí)行效率高、網(wǎng)絡(luò)結(jié)構(gòu)完整等特點,很適合信息家電等嵌入式系統(tǒng)的需要,目前已經(jīng)形成了能與Windows CE、Symbian等嵌入式操作系統(tǒng)進行有力競爭的局面。 網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備如電話、手機、冰箱、微波爐等功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)成為必然趨勢。 精簡系統(tǒng)內(nèi)核,優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。 提供更加友好的多媒體人機交互界面。嵌入式操作系統(tǒng)分類從應(yīng)用領(lǐng)域來分面向信息家電的嵌入式操作系統(tǒng)面向智能手機的嵌

19、入式操作系統(tǒng),如SymbianOS、MS Mobile OS、PalmOS、Embedded Linux等面向汽車電子的嵌入式操作系統(tǒng) 面向工業(yè)控制的嵌入式操作系統(tǒng) .從實時性的角度來分嵌入式實時操作系統(tǒng):具有強實時特點,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各種ITRON OS等。非實時嵌入式操作系統(tǒng):一般只具有弱實時特點,如WinCE、版本眾多的嵌入式Linux、PalmOS等。從嵌入式系統(tǒng)的商業(yè)模式來分類商用型:功能穩(wěn)定、可靠,有完善的技術(shù)支持和售后服務(wù),開發(fā)費用+版稅。開源型:開放源碼,只收服務(wù)費,沒有版稅。 如Embedded linux,RTEMS,eC

20、OS。嵌入式操作系統(tǒng)體系結(jié)構(gòu)體系結(jié)構(gòu)是操作系統(tǒng)的基礎(chǔ),它定義了硬件與軟件的界限、內(nèi)核與操作系統(tǒng)其它組件(文件、網(wǎng)絡(luò)、GUI等)的組織關(guān)系、系統(tǒng)與應(yīng)用的接口。體系結(jié)構(gòu)是確保系統(tǒng)的性能、可靠性、靈活性、可移植性、可擴展性的關(guān)鍵,就好比房子的梁架,只有梁架搭牢固了才提得上房子的質(zhì)量,再做一些錦上添花的工作才有意義。目前操作系統(tǒng)的體系結(jié)構(gòu)可分為:單塊結(jié)構(gòu)、層次結(jié)構(gòu)和客戶/服務(wù)器(微內(nèi)核)結(jié)構(gòu)。嵌入式操作系統(tǒng)體系結(jié)構(gòu)硬 件系統(tǒng)服務(wù)用戶態(tài)核心態(tài)應(yīng)用程序應(yīng)用程序單塊結(jié)構(gòu)嵌入式操作系統(tǒng)體系結(jié)構(gòu)硬件基本進程管理虛存管理I/O和設(shè)備管理進程間通信文件系統(tǒng)用戶用戶模式內(nèi)核模式層次結(jié)構(gòu)嵌入式操作系統(tǒng)體系結(jié)構(gòu)硬 件進程

21、服務(wù)用戶態(tài)核心態(tài)應(yīng)用程序客戶內(nèi)存服務(wù)微內(nèi)核文件服務(wù)網(wǎng)絡(luò)服務(wù)顯示服務(wù)發(fā)送應(yīng)答客戶/服務(wù)器結(jié)構(gòu)(微內(nèi)核結(jié)構(gòu))嵌入式操作系統(tǒng)體系結(jié)構(gòu)微內(nèi)核結(jié)構(gòu)的優(yōu)點提供一致的接口可擴展性:擴展對新的軟件/硬件支持靈活性:可伸縮可移植性分布式系統(tǒng)支持適用于面向?qū)ο蟛僮飨到y(tǒng)環(huán)境性能問題:通過微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費的時間比進行一次系統(tǒng)調(diào)用的時間多很大程度取決于微內(nèi)核的大小和功能嵌入式操作系統(tǒng)體系結(jié)構(gòu)目前嵌入式操作系統(tǒng)主要采用分層和模塊化相結(jié)合的結(jié)構(gòu)或微內(nèi)核結(jié)構(gòu)。分層和模塊化結(jié)合的結(jié)構(gòu)將操作系統(tǒng)分為硬件無關(guān)層、硬件抽象層和硬件相關(guān)層,每層再劃分功能模塊。這樣移植工作便集中在硬件相關(guān)層,與其余兩層無關(guān),功

22、能的伸縮則集中在模塊上,從而確保其具有良好的可移植性和可伸縮性。而采用微內(nèi)核結(jié)構(gòu),則可利用其可伸縮的特點適應(yīng)硬件的發(fā)展,便于擴展。 嵌入式操作系統(tǒng)體系結(jié)構(gòu)應(yīng)用程序任務(wù)管理硬 件用戶擴展處理調(diào)度管理硬件抽象層應(yīng)用編程接口內(nèi)存管理中斷管理時鐘/定時器管理I/O管理出錯處理同步、通信管理(消息隊列,信號量,事件,異步信號))DeltaCORE的體系結(jié)構(gòu):層次模塊結(jié)構(gòu)分層次模塊化嵌入式操作系統(tǒng)體系結(jié)構(gòu)用戶模式應(yīng)用應(yīng)用應(yīng)用網(wǎng)絡(luò)管理器圖形管理器設(shè)備管理器文件系統(tǒng)管理器網(wǎng)絡(luò)驅(qū)動圖形驅(qū)動設(shè)備驅(qū)動文件系統(tǒng)驅(qū)動硬件內(nèi)核模式 內(nèi)核(微內(nèi)核)QNX4.25的體系結(jié)構(gòu):客戶/服務(wù)器結(jié)構(gòu)嵌入式操作系統(tǒng)嵌入式內(nèi)核嵌入式TC

23、P/IP網(wǎng)絡(luò)系統(tǒng)嵌入式文件系統(tǒng)嵌入式操作系統(tǒng)的組成嵌入式內(nèi)核內(nèi)核是嵌入式操作系統(tǒng)的基礎(chǔ),也是必備的部分。內(nèi)核還提供特定的應(yīng)用編程接口,但目前沒有統(tǒng)一的標(biāo)準(zhǔn)。 任務(wù)管理內(nèi)存管理通信同步與互斥機制中斷管理時間管理任務(wù)擴展返回嵌入式內(nèi)核任務(wù)管理內(nèi)核的核心部分,具有任務(wù)調(diào)度、創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、解掛任務(wù)、設(shè)置任務(wù)優(yōu)先級等功能。 通用計算機的操作系統(tǒng)追求的是最大的吞吐率,為了達到最佳整體性能,其調(diào)度原則是公平,采用Round-Robin或可變優(yōu)先級調(diào)度算法,調(diào)度時機主要以時間片為主驅(qū)動。而嵌入式操作系統(tǒng)多采用基于靜態(tài)優(yōu)先級的可搶占的調(diào)度,任務(wù)優(yōu)先級是在運行前通過某種策略靜態(tài)分配好的,一旦有優(yōu)先

24、級更高的任務(wù)就緒就馬上進行調(diào)度。返回嵌入式內(nèi)核內(nèi)存管理嵌入式操作系統(tǒng)的內(nèi)存管理比較簡單。通常不采用虛擬存儲管理,而采用靜態(tài)內(nèi)存分配和動態(tài)內(nèi)存分配(固定大小內(nèi)存分配和可變大小內(nèi)存分配)相結(jié)合的管理方式。有些內(nèi)核利用MMU機制提供內(nèi)存保護功能。通用操作系統(tǒng)廣泛使用了虛擬內(nèi)存的技術(shù),為用戶提供一個功能強大的虛存管理機制。返回嵌入式內(nèi)核通信、同步和互斥機制這些機制提供任務(wù)間、任務(wù)與中斷處理程序間的通信、同步和互斥功能。一般包括信號量、消息、事件、管道、異步信號和共享內(nèi)存等功能。與通用操作系統(tǒng)不同的是,嵌入式操作系統(tǒng)需要解決在這些機制的使用中出現(xiàn)的優(yōu)先級反轉(zhuǎn)問題。返回嵌入式內(nèi)核中斷管理,一般具有以下功能

25、:安裝中斷服務(wù)程序中斷發(fā)生時,對中斷現(xiàn)場進行保存,并且轉(zhuǎn)到相應(yīng)的服務(wù)程序上執(zhí)行中斷退出前,對中斷現(xiàn)場進行恢復(fù)中斷棧切換中斷退出時的任務(wù)調(diào)度 返回嵌入式內(nèi)核時間管理提供高精度、應(yīng)用可設(shè)置的系統(tǒng)時鐘,該時鐘是嵌入式系統(tǒng)的時基,可設(shè)置為十毫秒以下。提供日歷時間,負責(zé)與時間相關(guān)的任務(wù)管理工作如任務(wù)對資源有限等待的計時、時間片輪轉(zhuǎn)調(diào)度等,提供軟定時器的管理功能等。通用操作系統(tǒng)的系統(tǒng)時鐘的精度由操作系統(tǒng)確定,應(yīng)用不可調(diào),且一般是幾十個毫秒。返回嵌入式內(nèi)核任務(wù)擴展功能任務(wù)擴展功能就是在內(nèi)核中設(shè)置一些Hook的調(diào)用點,在這些調(diào)用點上內(nèi)核調(diào)用應(yīng)用設(shè)置的、應(yīng)用自己編寫的擴展處理程序,以擴展內(nèi)核的有關(guān)功能。Hook

26、調(diào)用點有任務(wù)創(chuàng)建、任務(wù)切換、任務(wù)刪除、出錯處理等。返回嵌入式TCP/IPTCP/IP協(xié)議已經(jīng)廣泛地應(yīng)用于嵌入式系統(tǒng)中嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)提供符合TCP/IP協(xié)議標(biāo)準(zhǔn)的協(xié)議棧,提供Socket編程接口。Socket 接 口 UDP協(xié)議 TCP協(xié)議 IP 協(xié)議 ICMP/IGMP協(xié)議 網(wǎng)絡(luò)接口層 ARP/PPP協(xié)議 以太網(wǎng)驅(qū)動 異步串口驅(qū)動物 理 設(shè) 備應(yīng)用程序/應(yīng)用協(xié)議嵌入式TCP/IP嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)具有以下的特點:可剪裁: 能根據(jù)嵌入式系統(tǒng)的功能的要求選擇所需的協(xié)議,對完整的TCP/IP協(xié)議簇進行剪裁,以滿足用戶的需要。采用“零拷貝”(Zero Copy)技術(shù),提高實時性 所

27、謂“零拷貝”技術(shù),是指TCP/IP協(xié)議棧沒有用于各層間數(shù)據(jù)傳遞的緩沖區(qū),協(xié)議棧各層間傳遞的都是數(shù)據(jù)指針,只有當(dāng)數(shù)據(jù)最終要被驅(qū)動程序發(fā)送出去或是被應(yīng)用程序取走時,才進行真正的數(shù)據(jù)搬移。 嵌入式TCP/IP采用靜態(tài)分配技術(shù) 在網(wǎng)絡(luò)初始化時就靜態(tài)分配通信緩沖區(qū),設(shè)置了專門的發(fā)送和接收緩沖(其大小一般小于或等于物理網(wǎng)絡(luò)上的MTU值),從而確保了每次發(fā)送或接收時處理的數(shù)據(jù)不會超過MTU值,也就避免了數(shù)據(jù)處理任務(wù)的阻塞等待。 返回嵌入式文件系統(tǒng)通用操作系統(tǒng)的文件系統(tǒng)通常具有以下功能:提供用戶對文件操作的命令提供用戶共享文件的機制管理文件的存儲介質(zhì)提供文件的存取控制機制,保障文件及文件系統(tǒng)的安全性提供文件及

28、文件系統(tǒng)的備份和恢復(fù)功能提供對文件的加密和解密功能嵌入式文件系統(tǒng)嵌入式文件系統(tǒng)相比之下較為簡單,主要具有文件的存儲、檢索、更新等功能,一般不提供保護和加密等安全機制。它以系統(tǒng)調(diào)用和命令方式提供對文件的各種操作,主要有:設(shè)置和修改對文件和目錄的存取權(quán)限 提供建立、修改、改變、刪除目錄等服務(wù)提供創(chuàng)建、打開、讀、寫、關(guān)閉、撤消文件等服務(wù) 嵌入式實時操作系統(tǒng)C/OS-II簡介C/OS-II是一個搶占式實時多任務(wù)內(nèi)核。它是用ANSI的C語言編寫的,包含一小部分匯編語言代碼,使之可以提供給不同架構(gòu)的微處理器使用。至今,從8位到64位,C/OS-II已經(jīng)在40多種不同架構(gòu)的微處理器上使用。使用C/OS的領(lǐng)域

29、包括:照相機行業(yè)、航空業(yè)、醫(yī)療器械、網(wǎng)絡(luò)設(shè)備、自動提款機以及工業(yè)機器人等。 嵌入式實時操作系統(tǒng)C/OS-II簡介C/OS-II全部以源代碼的方式提供,大約有5500行。CPU相關(guān)的部分使用的是針對Intel80 x86微處理器的代碼。C/OS-II可以很容易地移植到不同架構(gòu)的嵌入式微處理器上。 嵌入式實時操作系統(tǒng)C/OS-II簡介C/OS-II的特點:源代碼可移植可固化可裁減可搶占性支持多任務(wù)可確定性任務(wù)棧系統(tǒng)服務(wù)中斷管理穩(wěn)定性和可靠性嵌入式實時操作系統(tǒng)C/OS-II簡介源代碼文件介紹對函數(shù)和環(huán)境的定義: PC.C與處理器類型無關(guān)部分: OS_CORE.C OS_FLAG.C OS_MBOX.

30、C OS_MEM.C OS_MUTEX.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C COS-II.C COS-II.H與處理器類型相關(guān)部分: OS_CPU_A.S OS_CPU_C.C OS_CPU.H 給整個內(nèi)核庫提供總體的include文件:INCLUDES.H 配置文件,定義使用C/OS-II中的哪些功能:OS_CFG.H嵌入式實時操作系統(tǒng)C/OS-II簡介C/OS-II不是自由軟件,用于商業(yè)目的時須取得許可證第四節(jié)嵌入式Java概述為什么需要J2MEJ2ME用來做什么進一步了解J2MEJ2ME應(yīng)用概述Java伴隨著Write Once, Run Anyw

31、here的美好愿望而誕生為什么需要Java ME從PC時代到網(wǎng)絡(luò)時代:計算無處不在消費類嵌入式設(shè)備擁有龐大的市場:手機PDA機頂盒重新定義“電腦”計算+娛樂+溝通為什么需要Java ME且慢:在美好明天到來之前競爭的時代:多樣化的硬件多樣化的軟件多樣化的網(wǎng)絡(luò)運營商、設(shè)備制造商、軟件開發(fā)商所有人都希望取得優(yōu)勢為什么需要Java ME電信運營商:提供更多更好的增值服務(wù),尋找新的利潤增長點設(shè)備制造商:需要更多的軟件支持軟件開發(fā)商:需要開發(fā)功能更強、更有吸引力的應(yīng)用所有人的難題:沒有統(tǒng)一的標(biāo)準(zhǔn)Java ME用來做什么為不同的硬件/軟件/網(wǎng)絡(luò)環(huán)境定義一個統(tǒng)一的Java虛擬機架構(gòu)及統(tǒng)一的API在PC上開發(fā)

32、應(yīng)用,在嵌入式設(shè)備上運行應(yīng)用具備網(wǎng)絡(luò)交互能力應(yīng)用無需移植,也無需重新編譯,直接運行于所有平臺進一步了解Java MEJava Micro Edition (Java ME)含有虛擬機以及由Configuration指定的核心和在Profiles中指定的縱向的或與Optional Package進一步了解Java ME- Configuration我們可以根據(jù)如下特性對嵌入式設(shè)備分類:內(nèi)存的類型和數(shù)量處理器的類型和速度是否具有網(wǎng)絡(luò)連接及連接類型Configuration是一套規(guī)范,它為具有類似屬性的某一類設(shè)備定義了J2ME平臺應(yīng)該具有的基本功能,例如Java核心庫、Java虛擬機。目前J2ME規(guī)

33、范只有兩種Configuration:CLDC(Connected Limited Device Configuration)CDC(Connected Device configuration)進一步了解Java ME- CLDCCLDC主要是針對那些具有間歇的網(wǎng)絡(luò)連接,速度較慢的處理器,有限內(nèi)存的小型設(shè)備,如手機、低端PDA等。CLDC規(guī)范假定其目標(biāo)設(shè)備具有如下性質(zhì):使用16或32位處理器至少擁有160KB內(nèi)存,其中的128KB將配置給虛擬機和核心類庫具有某種網(wǎng)絡(luò)連接,通常是無線的、間歇連接的,而且?guī)捰邢轈LDC規(guī)范所涉及的范圍包含下列五大項:Java語言以及虛擬機的特性核心類庫與輸入輸

34、出連網(wǎng)功能安全性國際化功能目前CLDC的版本有:CLDC1.0CLDC1.1CLDC使用的虛擬機是KVM(Kilobyte VM)進一步了解Java ME- CLDCCLDC上的ProfileMIDP(Mobile Information Device Profile)主要是針對手機和低端PDA。它為移動應(yīng)用提供了核心功能,包括用戶界面、網(wǎng)絡(luò)連接、局部數(shù)據(jù)存儲和應(yīng)用管理。MIDP與CLDC一起為手持設(shè)備提供了完整的Java運行環(huán)境。目前MIDP規(guī)范的版本有:MIDP1.0MIDP2.0MIDP3.0 今年底推出CLDC Optional Package -JTWIMinimize the fr

35、agmentation of mobile Java by defining a predictable and highly interoperable application and service environment for developers.Mandatory:CLDC 1.0 (JSR 30)MIDP 2.0 (JSR 118)WMA 1.1 (JSR 120)Optional/Conditional:CLDC 1.1 (JSR 139)MMAPI 1.1 (JSR 135)CLDC Optional Package -MSAMany Operator specificati

36、ons take MSA/MSA subset as its frameworkCLDC Optional Package MIDP3.0Multiple concurrent MIDlets in one VM.Improve UI expressability and extensibilityIPv6MIDlet provision through other means (e.g. OMA (SyncML) DM/DS, Bluetooth, removable media, MMS, JSR-232, etc.) Localization & Internationalization

37、 (JSR-238)CDC主要是針對那些具有更多內(nèi)存、更快速度的處理器和更大網(wǎng)絡(luò)帶寬的設(shè)備,如電視機頂盒、高端PDA、汽車通訊系統(tǒng)等。CDC規(guī)范假定其目標(biāo)設(shè)備具有如下性質(zhì):使用32位處理器提供至少2MB的內(nèi)存給Java平臺具有網(wǎng)絡(luò)連通的能力CDC中使用的虛擬機是CVM進一步了解Java ME- CDCCDC上的ProfileFP(Foundation Profile)是一套支持資源受限設(shè)備,但不包含標(biāo)準(zhǔn)用戶圖形界面系統(tǒng)的Java API。FP+CDC就為J2ME應(yīng)用程序提供了一套在消費設(shè)備和嵌入式設(shè)備中運行的完整環(huán)境。FP也是其他Profile的基礎(chǔ)。PBP(Personal Base Profile)提供基本的圖形功能PP(Personal Profile)支持完整、抽象的圖形工具(AWT)還提供了大量的PersonalJava環(huán)境功能Java ME應(yīng)用在這個例子中CLDC = KVM + J2ME核心 APIs 移動信息設(shè)備 ProfileKVMDSP 芯片(如 ARM)Java ME核心 APIs您的MID

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論