[精品]嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與COS-Ⅱ第三講 實時嵌.ppt_第1頁
[精品]嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與COS-Ⅱ第三講 實時嵌.ppt_第2頁
[精品]嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與COS-Ⅱ第三講 實時嵌.ppt_第3頁
[精品]嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與COS-Ⅱ第三講 實時嵌.ppt_第4頁
[精品]嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與COS-Ⅱ第三講 實時嵌.ppt_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)設(shè)計與實例開發(fā) ARM與C/OS- 第三講 實時嵌入式操作系統(tǒng)簡介,一、嵌入式實時操作系統(tǒng)C/OS 二、嵌入式Linux 三、WinCE,第三講、嵌入式實時操作系統(tǒng)簡介,一、嵌入式實時操作系統(tǒng)C/OS,1、C/OSmicro C O S,微控制器操作系統(tǒng) 2、 C/OS簡介 美國人Jean Labrosse 1992年完成 應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機、醫(yī)療器械、音響設(shè)備、發(fā)動機控制、高速公路電話系統(tǒng)、自動提款機等 1998年C/OS -II,目前的版本C/OS -II V2.61 網(wǎng)站www.ucos- II.com,公開源代碼 可移植性(Portable) 絕大部分 C/OS-II的源碼是用移植性很強的ANSI C寫的。和微處理器硬件相關(guān)的那部分是用匯編語言寫的。匯編語言寫的部分已經(jīng)壓到最低限度,使得 C/OS-II便于移植到其他微處理器上。 C/OS-II可以在絕大多數(shù)8位、16位、32位以至64位微處理器、微控制器 、數(shù)字信號處理器(DSP)上運行。 可固化(ROMable) C/OS-II是為嵌入式應(yīng)用而設(shè)計的,這就意味著,只要讀者有固化手段(C編譯、連接、下載和固化), C/OS-II可以嵌入到讀者的產(chǎn)品中成為產(chǎn)品的一部分。 可裁剪(Scalable) 可以只使用 C/OS-II中應(yīng)用程序需要的那些系統(tǒng)服務(wù)。也就是說某產(chǎn)品可以只使用很少幾個 C/OS-II調(diào)用,而另一個產(chǎn)品則使用了幾乎所有 C/OS-II的功能,這樣可以減少產(chǎn)品中的 C/OS-II所需的存儲器空間(RAM和ROM)。這種可剪裁性是靠條件編譯實現(xiàn)的。,C/OS的性能特點,占先式(Preemptive) 多任務(wù) C/OS-II可以管理64個任務(wù),然而,目前這一版本保留8個給系統(tǒng)。應(yīng)用程序最多可以有56個任務(wù) 可確定性 全部 C/OS-II的函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有可確定性。 任務(wù)棧 每個任務(wù)有自己單獨的棧, C/OS-II允許每個任務(wù)有不同的??臻g,以便壓低應(yīng)用程序?qū)AM的需求。 系統(tǒng)服務(wù) C/OS-II提供很多系統(tǒng)服務(wù),例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。 中斷管理 中斷可以使正在執(zhí)行的任務(wù)暫時掛起,如果優(yōu)先級更高的任務(wù)被該中斷喚醒,則高優(yōu)先級的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達255層。 穩(wěn)定性與可靠性,C/OS的性能特點,內(nèi)核結(jié)構(gòu) 任務(wù)管理 時間管理 任務(wù)之間通信與同步 C/OS的移植,C/OS的內(nèi)核,總結(jié),不存在一個內(nèi)核任務(wù)/實體,內(nèi)核的管理是通過調(diào)用系統(tǒng)函數(shù)來實現(xiàn)的。 每個任務(wù)有自己的堆棧空間。內(nèi)核對任務(wù)的占先式調(diào)度不會干擾每個任務(wù)的總的運行結(jié)果。,uC/OS的改進,固定的基于優(yōu)先級的調(diào)度,不支持時間片,使用起來不方便。一個任務(wù)的基礎(chǔ)上增加一個基于時間片的微型調(diào)度核 在對臨界資源的訪問上使用關(guān)閉中斷實現(xiàn),沒有使用CPU提供的硬件指令,例如測試并置位。 系統(tǒng)時鐘中斷,沒有提供用戶使用定時器,可以借鑒linux的定時器加以修改 可以加上文件系統(tǒng)和TCP/IP協(xié)議棧,二、嵌入式Linux,二、嵌入式Linux,Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放 強大的網(wǎng)絡(luò)支持功能 Linux具備一整套開發(fā)工具鏈 Linux具有廣泛的硬件支持特性 同步跟蹤快 遵循通用國際標準,便于程序的移植,Linux的結(jié)構(gòu),類UNIX,板級支持包(BSP)是在嵌入式系統(tǒng)中頻繁使用的一個概念。BSP是介于 操作系統(tǒng)和系統(tǒng)硬件之間的一個抽象層,確切的說是操作系統(tǒng)的一部分。通 常所指的BSP包括啟動代碼和系統(tǒng)相關(guān)的驅(qū)動和程序。BSP的作用使硬件對 于操作系統(tǒng)變得透明,從而使嵌入式系統(tǒng)和它的應(yīng)用程序能夠運行在不同的 硬件平臺上。,嵌入式Linux,嵌入式Linux(Embedded Linux)是指對Linux經(jīng)過小型化裁剪后,能夠固化在容量只有幾百K字節(jié)或幾兆字節(jié)的存儲器芯片或單片機中,應(yīng)用于特定嵌入式場合的專用Linux操作系統(tǒng)。嵌入式Linux的開發(fā)和研究是目前操作系統(tǒng)領(lǐng)域的一個熱點。 RTLinux CLinux ,Linux作為嵌入式應(yīng)用的缺點,首先linux最初設(shè)計為通用操作系統(tǒng),其目標是追求整體最佳性能,所以不能很好處理實時任務(wù); 其次,如何精簡linux適用于嵌入式環(huán)境也是一個難題。,嵌入式linux的研究內(nèi)容,嵌入式linux內(nèi)核技術(shù) 嵌入式庫技術(shù) 開發(fā)環(huán)境技術(shù) 嵌入式應(yīng)用 BIOS和boot loader啟動加載程序 設(shè)備驅(qū)動技術(shù) 圖形界面技術(shù),幾種嵌入式Linux,Hardhat linux Hardhat Linux是由MontaVista公司開發(fā)產(chǎn)品,是目前最具影響力嵌入式Linux。MontaVista通過直接修改內(nèi)核來擴充linux內(nèi)核的實時性。 RTlinux RTlinux是FSMLabs16開發(fā)的硬實時嵌入式linux。RTlinux使用雙內(nèi)核結(jié)構(gòu);在底層使用一個硬實時內(nèi)核,linux作為該內(nèi)核的空閑任務(wù);當有實時任務(wù)時,通過硬實時內(nèi)核調(diào)度該任務(wù);沒有其他任務(wù)時,則運行普通linux。 uClinux uClinux是針對無mmu(存儲器管理單元)微控制領(lǐng)域而設(shè)計的Linux系統(tǒng)。u是希臘字母表示”小”,C是controller表示控制器。uClinux和標準linux最大的區(qū)別是內(nèi)存管理上,標準linux利用CPU硬件的支持實現(xiàn)虛擬內(nèi)存機制,而uClinux采用實存儲器管理策略。,Clinux,Clinux的內(nèi)核結(jié)構(gòu)圖如下:,對開發(fā)人員提出的更高要求,從易用性來說,uClinux的內(nèi)存管理實際上是一種倒退,退回了到了UNIX早期或是Dos系統(tǒng)時代。開發(fā)人員不得不參與系統(tǒng)的內(nèi)存管理。從編譯內(nèi)核開始,開發(fā)人員必須告訴系統(tǒng)這塊開發(fā)板到底擁有多少的內(nèi)存。 由于應(yīng)用程序加載時必須分配連續(xù)的地址空間,而針對可連續(xù)地址分配內(nèi)存大小是受限的,開發(fā)人員在開發(fā)應(yīng)用程序時必須考慮內(nèi)存的分配情況并關(guān)注應(yīng)用程序需要運行空間的大小。另外由于采用實存儲器管理策略, 用戶程序同內(nèi)核以及其它用戶程序在一個地址空間,程序開發(fā)時要保證不侵犯其它程序的地址空間,以使得程序不至于破壞系統(tǒng)的正常工作,或?qū)е缕渌绦虻倪\行異常。從內(nèi)存的訪問角度來看,開發(fā)人員的權(quán)利增大了(開發(fā)人員在編程時可以訪問任意的地址空間),但與此同時系統(tǒng)的安全性也大為下降。 從嵌入式設(shè)備實現(xiàn)的功能來看,嵌入式設(shè)備通常在某一特定的環(huán)境下運行,只要實現(xiàn)特定的功能,其功能相對簡單,內(nèi)存管理的要求完全可以由開發(fā)人員考慮。,內(nèi)核加載方式,uCLinux的內(nèi)核有兩種可選的運行方式:可以在flash上直接運行,也可以加載到內(nèi)存中運行。后者可以減少內(nèi)存需要。 Flash運行方式(XIP):把內(nèi)核的可執(zhí)行映像燒寫到flash上,系統(tǒng)啟動時從flash的某個地址開始逐句執(zhí)行。這種方法實際上是很多嵌入式系統(tǒng)采用的方法。 內(nèi)核加載方式:把內(nèi)核的壓縮文件存放在flash上,系統(tǒng)啟動時讀取壓縮文件在內(nèi)存里解壓,然后開始執(zhí)行,這種方式相對復(fù)雜一些,但是運行速度可能更快(RAM的存取速率要比Flash高)。,經(jīng)過如上各方面的小型化改造,就形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,uCLinux仍然保留了Linux的大多數(shù)的優(yōu)點:穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、完備的對各種文件系統(tǒng)的支持、以及標準豐富的API。它的主要特征如下: 通用Linux API 內(nèi)核體積 512 KB 內(nèi)核 +文件系統(tǒng)900 KB 完整的TCP/IP 協(xié)議棧 支持大量其它的網(wǎng)絡(luò)協(xié)議 支持各種文件系統(tǒng),包括 NFS、ext2、ROMfs and JFFS、MS-DOS和FAT16/32,Clinux的特點,三、Windows CE,Windows CE是微軟開發(fā)的一個開放的、可升級的32位嵌入式操作系統(tǒng)。 它是精簡的Windows 95。Windows CE的圖形用戶界面相當出色。 與Windows 95/98、Windows NT不同:Win CE是所有源代碼由微軟自行開發(fā)的嵌入式操作系統(tǒng),操作界面是基于Win32 API重新開發(fā)的、新型的信息設(shè)備平臺。 Windows CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口以及與處理器無關(guān)等特點。 Windows CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Windows CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C+等)、使用同樣的函數(shù)、使用同樣的界面網(wǎng)格,使絕大多數(shù)的應(yīng)用軟件只需簡單的修改和移植就可以在Windows CE平臺上繼續(xù)使用。,Windows CE的特點:,具有靈活的電源管理功能,包括瞬眠/喚醒模式。 使用了對象存儲(object store)技術(shù),包括文件系統(tǒng)、注冊表及數(shù)據(jù)庫。它還具有很多高性能、高效率的操作系統(tǒng)特 性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆(heap)等。 擁有良好的通信能力。廣泛支持各種通信硬件,亦支持直接的局域連接以及撥號連接,并提供與PC、內(nèi)部網(wǎng)以及Internet的連接,還提供與Windows 9x/NT的最佳集成和通信。,Windows CE的特點:,支持嵌套中斷。允許更高優(yōu)先級別的中斷首先得到響應(yīng),而不是等待低級別的ISR完成。這使得該操作系統(tǒng)具有嵌入式操作系統(tǒng)所要求的實時性。 更好的線程響應(yīng)能力。對高級別IST(中斷服務(wù)線程)的響應(yīng)時間上限的要求更加嚴格,在線程響應(yīng)能力方面的改進

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論