第一章:嵌入式系統(tǒng)與嵌入式操作系統(tǒng)_第1頁
第一章:嵌入式系統(tǒng)與嵌入式操作系統(tǒng)_第2頁
第一章:嵌入式系統(tǒng)與嵌入式操作系統(tǒng)_第3頁
第一章:嵌入式系統(tǒng)與嵌入式操作系統(tǒng)_第4頁
第一章:嵌入式系統(tǒng)與嵌入式操作系統(tǒng)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式操作系統(tǒng)

課程介紹計算機科學與技術(shù)專業(yè)基礎課操作系統(tǒng)的后續(xù)課程,建立對某種操作系統(tǒng)實現(xiàn)編程技術(shù)的理解和運用討論嵌入式軟件開發(fā)技術(shù),為嵌入式系統(tǒng)開發(fā)建立軟件基礎為嵌入式就業(yè)方向奠定軟件技術(shù)基礎,有市場前景課程目標學會嵌入式操作系統(tǒng)平臺的嵌入式應用軟件的設計與實現(xiàn)理解嵌入式操作系統(tǒng)基本概念與技術(shù)理解嵌入式操作系統(tǒng)內(nèi)核的工作原理理解嵌入式應用軟件的設計與實現(xiàn)原理理解嵌入式軟件的運行機制評價嵌入式軟件運行性能授課方式以實時內(nèi)核技術(shù)概念為基礎以內(nèi)核模塊構(gòu)成與實現(xiàn)為主要內(nèi)容以內(nèi)核模塊應用案例為驅(qū)動與驗證完成課程目標的嵌入式軟件開發(fā)技術(shù)及方法課程安排及成績考核(僅供參考)理論授課 40學時(1-11周每周4學時)上機實驗 16學時(預排第7、8周每周8學時)成績及考核期末考試(開卷)70%平時成績30%(作業(yè)與考勤15%,上機實驗15%)參考文獻嵌入式操作系統(tǒng)——組成、原理與應用設計牛欣源清華大學出版社2013嵌入式實時操作系統(tǒng)UC/OS-II(第2版)JeanJ.Labrosse北京航空航天大學出版社2003嵌入式實時操作系統(tǒng)及應用開發(fā)羅蕾北京航空航天大學出版社2007嵌入式系統(tǒng)——組成、原理與設計編程金敏人民郵電出版社2006嵌入式軟件設計康一梅機械工業(yè)出版社2008第一章嵌入式軟件與嵌入式操作系統(tǒng)本章內(nèi)容嵌入式系統(tǒng)嵌入式應用軟件嵌入式操作系統(tǒng)嵌入式系統(tǒng)什么是嵌入式系統(tǒng)?它與其他系統(tǒng)相比,有何特殊之處?樹立正確的嵌入式系統(tǒng)基本概念和基本目標,對于開發(fā)嵌入式系統(tǒng),了解、掌握安裝運行于嵌入式系統(tǒng)之上的軟件,具有首要意義。什么是系統(tǒng),應該如何理解系統(tǒng)的概念和含義?一般說來,系統(tǒng)就是按照一些固定的程序和規(guī)則,完成某些任務的組織或工作方式。比如,一塊表,是一個能顯示時間的系統(tǒng)。再比如,一臺洗衣機,是一個能自動洗衣的系統(tǒng)。嵌入式系統(tǒng)定義上面舉例說明的兩個系統(tǒng)實例中,表可以看成是一個機械系統(tǒng),洗衣機可以看成是一個嵌入式系統(tǒng),是一個具有嵌入軟件和計算機硬件,并受嵌入軟件和計算機硬件的運行控制,完成特定功能的系統(tǒng)。嵌入式系統(tǒng)就是一個具有嵌入軟件和計算機硬件,并受嵌入軟件和計算機硬件的運行控制,完成特定功能的系統(tǒng)。通常將嵌入式計算機系統(tǒng)簡稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)與通用計算機系統(tǒng)嵌入式系統(tǒng)是不同于通用計算機系統(tǒng)的一種專用計算機系統(tǒng)不以獨立的物理設備的形態(tài)出現(xiàn),即:它沒有一個統(tǒng)一的外觀,它的部件根據(jù)主體設備以及應用的需要,嵌入在該設備的內(nèi)部,發(fā)揮著運算、處理、存儲以及控制等作用。嵌入式系統(tǒng)的多種解釋嵌入式系統(tǒng)受內(nèi)置于其中的計算機部件控制,這個部件可能是微控制器。嵌入式系統(tǒng)由微控制器控制,軟件驅(qū)動運行,可靠性好,具有實時控制性能。嵌入式系統(tǒng)就是將計算機系統(tǒng)內(nèi)置于一個電子產(chǎn)品中。嵌入式系統(tǒng)就是包含微處理器或微控制器的電子產(chǎn)品。嵌入式系統(tǒng)包含一個可編程的非通用計算機,即基于可編程的微處理器控制的系統(tǒng)。嵌入式應用系統(tǒng)把計算機可執(zhí)行程序嵌入到(或稱安裝到)某個設備中,如,手機、汽車、照相機、洗衣機、空調(diào)器等家用電器,或飛機、導彈、衛(wèi)星等大型設備,控制這些設備的運轉(zhuǎn),使設備工作運行的自動化程度大大提高,并在功能和性能方面都得到提升,整體系統(tǒng)的質(zhì)量大大提高。這些設備就可視為嵌入式系統(tǒng)這些預制或安裝的軟件就是嵌入式軟件。如何開發(fā)嵌入式軟件?嵌入式計算機系統(tǒng)和通用計算機系統(tǒng)的比較嵌入式實時操作系統(tǒng)是通用操作系統(tǒng)的一個應用特例嵌入式系統(tǒng)通常是面向特定應用的嵌入式系統(tǒng)的硬件和軟件都必須高效率地設計,量體裁衣、去除軟硬件冗余嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中綜合比對如下表所示:嵌入式軟件系統(tǒng)嵌入式軟件是計算機軟件的一種安裝運行在嵌入式系統(tǒng)上,控制嵌入式系統(tǒng)的運行。它既具有通用計算機軟件的一般特性,也有自身的獨特屬性。理解嵌入式軟件的特有屬性,可以從軟件功能作用及其運行平臺等角度進行分析。按照軟件作用劃分嵌入式軟件一般分為系統(tǒng)軟件、支撐軟件和應用軟件三大類。系統(tǒng)軟件負責控制、管理計算機系統(tǒng)的資源。如嵌入式操作系統(tǒng)、嵌入式中間件(CORBA、Java)等。支撐軟件為輔助軟件開發(fā)的工具。如系統(tǒng)分析設計工具、仿真開發(fā)工具、交叉開發(fā)工具、測試工具、配置管理工具、維護工具等。應用軟件是面向特定應用領域開發(fā)的軟件。如手機軟件、路由器軟件、交換機軟件、飛控軟件等。按照運行平臺劃分嵌入式軟件可以分為開發(fā)平臺的嵌入式軟件和嵌入式系統(tǒng)上的軟件。運行在開發(fā)平臺上的軟件,負責完成嵌入式軟件的設計、開發(fā)、編碼、運行測試等階段的工作,在開發(fā)平臺上生成可執(zhí)行軟件程序運行在嵌入式系統(tǒng)上的軟件,由嵌入式操作系統(tǒng)、應用程序、驅(qū)動程序及部分開發(fā)工具構(gòu)成,負責嵌入式軟件產(chǎn)品在嵌入式系統(tǒng)上的運行。另一種嵌入式軟件劃分方式如下:1、機器指令形式的可執(zhí)行嵌入式軟件這是最終安裝在嵌入式系統(tǒng)中的嵌入式軟件的運行形式,以微處理器可識別的指令構(gòu)成2、高級語言形式的嵌入式軟件大多數(shù)情況下,嵌入式軟件常使用高級語言進行研發(fā)和編程實現(xiàn)。在眾多的高級語言中,C語言得到廣泛認可。基于C語言編程的程序軟件生成的可執(zhí)行程序最終需要安裝在ROM芯片上,控制系統(tǒng)的運行。如何將C程序轉(zhuǎn)換為ROM映像文件及其基本過程?C程序函數(shù)調(diào)用庫函數(shù)的機器指令代碼目標文件的機器代碼字節(jié)編址的被鏈接程序嵌入式系統(tǒng)ROM內(nèi)存編譯鏈接代碼優(yōu)化C語言代碼能生成運行在嵌入式硬件上的ROM映像的基本過程編譯程序生成目標代碼。對目標代碼按照處理機指令集進行匯編。編譯的最后步驟是優(yōu)化代碼。編譯完成后,鏈接程序?qū)⒛繕舜a和其它調(diào)用代碼鏈接成為一個可執(zhí)行程序。例如,鏈接程序?qū)旌瘮?shù)printf()和sqrt()的可執(zhí)行代碼包含進來。設備及設備驅(qū)動程序代碼也在這時包含進來。鏈接和完成地址重定位之后,生成一個ROM映像文件,一個能運行在目標硬件的ROM映像。嵌入式軟件開發(fā)概述討論并解決以下基本問題:軟件設計程序模型基于實時操作系統(tǒng)(RTOS)多個任務的并發(fā)處理和調(diào)度軟件基于操作系統(tǒng)的設備驅(qū)動和設備管理軟件設計實現(xiàn)嵌入式系統(tǒng)的軟件工具

嵌入式開發(fā)工具一般使用說明針對具體嵌入式系統(tǒng),說明各類開發(fā)工具的可用性如下圖所示:嵌入式軟件分類和分層如果依據(jù)嵌入式軟件的運行平臺劃分,可將嵌入式軟件分為運行在開發(fā)平臺上的軟件和運行在嵌入式系統(tǒng)上的軟件兩種類型運行在開發(fā)平臺上的嵌入式軟件負責提供設計、開發(fā)、測試工具等運行在嵌入式系統(tǒng)上的軟件就是嵌入式操作系統(tǒng)、應用程序、驅(qū)動程序及部分開發(fā)工具嵌入式系統(tǒng)軟件的特征實時性(RealTime)。針對嵌入式系統(tǒng)各項功能的控制需求,需要滿足功能執(zhí)行的時間限制。事件響應(ReacttoEvent)。針對嵌入式系統(tǒng)某些功能的偶發(fā)控制需求,需要滿足由某些條件引發(fā)的功能需求。系統(tǒng)功能的實時中斷和調(diào)度。針對嵌入式系統(tǒng)某些重要功能的偶發(fā)控制需求,需要滿足由某些重要條件引發(fā)的功能需求,即滿足重要事件的實時控制需求,也確保后續(xù)系統(tǒng)的正常運行需求。時限(Deadline)要求。如果不能在時限要求時間內(nèi),實現(xiàn)既定功能,就視為系統(tǒng)發(fā)生運行錯誤。早期的嵌入式系統(tǒng)平臺開發(fā)簡單早期的嵌入式系統(tǒng)功能比較簡單,控制軟件或程序部分功能單一,常用匯編語言指令進行設計開發(fā)。隨著計算機系統(tǒng)和應用需求的不斷發(fā)展。僅僅使用底層編程技術(shù)已不能滿足開發(fā)功能、開發(fā)效率開發(fā)性能等方面的需求。使用嵌入式操作系統(tǒng)作為開發(fā)平臺已成為現(xiàn)實。嵌入式開發(fā)需要操作系統(tǒng)的支持由于日益增長的嵌入式軟件的開發(fā)需求及其開發(fā)平臺的不斷發(fā)展,嵌入式系統(tǒng)與嵌入式操作系統(tǒng)硬件軟件體系結(jié)構(gòu)已密不可分,成為一個公認穩(wěn)定的系統(tǒng)平臺,共同承擔開發(fā)嵌入式系統(tǒng)及其軟件的必備工具和平臺的任務。開發(fā)服務于嵌入式系統(tǒng)的嵌入式軟件,采用基于嵌入式操作系統(tǒng)內(nèi)核功能進行開發(fā),是功能、性能較為有力的保障。嵌入式操作系統(tǒng)的商業(yè)模式分類可以分為商用型和開源型。商用型系統(tǒng)功能穩(wěn)定、可靠,有完善的技術(shù)支持和售后服務,商品價格由開發(fā)費用和版稅決定,常用商用嵌入式操作系統(tǒng),如windowsCE、VxWorks。開源型系統(tǒng)開放源碼,使用花銷只包括服務費,不包括版稅,如Embeddedlinux,RTEMS,μC/OS-Ⅱ。從嵌入式操作系統(tǒng)的實時性上分類可分為實時操作系統(tǒng)和非實時操作系統(tǒng)時限要求嚴格的系統(tǒng)稱為硬實時系統(tǒng)時限要求不嚴格的稱為軟實時系統(tǒng)。嵌入式操作系統(tǒng)概念一般由內(nèi)核、嵌入式TCP/IP網(wǎng)絡系統(tǒng)、嵌入式文件系統(tǒng)等組成。內(nèi)核是嵌入式操作系統(tǒng)的基礎,也是必備的部分。它提供任務管理、內(nèi)存管理、通信、同步與互斥機制、中斷管理、時間管理及任務擴展等功能。內(nèi)核還提供特定的應用編程接口。嵌入式操作系統(tǒng)EOS特性嵌入式操作系統(tǒng)EOS相對于一般操作系統(tǒng)而言,它除具備了一般操作系統(tǒng)最基本的功能,如任務調(diào)度、同步機制、中斷處理、文件功能等外,還有以下特性:可裝卸性。開放性、可伸縮性的體系結(jié)構(gòu)。強實時性。EOS實時性一般較強,可用于各種設備控制當中。統(tǒng)一的接口。提供各種設備驅(qū)動接口。操作方便、簡單、提供友好的圖形GUI,圖形界面,易學易用。提供強大的網(wǎng)絡功能,支持TCP/IP協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動計算設備預留接口。強穩(wěn)定性,弱交互性。嵌入式系統(tǒng)一旦開始運行就不需要用戶過多的干預,這就要負責系統(tǒng)管理的EOS具有較強的穩(wěn)定性。嵌入式操作系統(tǒng)的用戶接口一般不提供操作命令,它通過系統(tǒng)調(diào)用命令向用戶程序提供服務。固化代碼。在嵌入系統(tǒng)中,嵌入式操作系統(tǒng)和應用軟件被固化在嵌入式系統(tǒng)計算機的ROM中。輔助存儲器,如硬盤等,在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng)。更好的硬件適應性,也就是良好的移植性。嵌入式操作系統(tǒng)的基本概念嵌入式應用程序由函數(shù)、中斷服務子程序、線程、多個任務、實際或虛擬設備組成。在單CPU或多CPU的計算機上并發(fā)運行。實時OS的系統(tǒng)函數(shù)提供創(chuàng)建多個任務的調(diào)用機制,控制任務的狀態(tài),分配任務需要的資源。實時OS的系統(tǒng)函數(shù)控制多任務間的上下文切換和調(diào)度。實時OS的系統(tǒng)函數(shù)提供IPC函數(shù),在任務和任務間、在任務和中斷服務子程序間進行信號、信號量、消息的傳遞。實時OS的系統(tǒng)函數(shù)提供管道、套接字、RPC(遠程過程調(diào)用)等機制,支持數(shù)據(jù)的傳遞。實時OS的系統(tǒng)函數(shù)提供互斥信號量、鎖和SPIN鎖、封中斷等機制。嵌入式應用程序概述基于實時操作系統(tǒng)進行嵌入式軟件研發(fā),有效率高、實時性好、易于移植等特點從應用軟件設計與實現(xiàn)角度分析,需要設計者首先掌握實時操作系統(tǒng)內(nèi)核功能及調(diào)用接口,熟悉內(nèi)核基本技術(shù)及其實現(xiàn)方法;對應用程序進行任務分析及分解、中斷分析及設計、數(shù)據(jù)分析和實現(xiàn)。完成應用代碼程序設計,由此生成一個具有實時特性的嵌入式應用軟件的可執(zhí)行程序。嵌入式軟件系統(tǒng)應用軟件這些軟件功能通常以并發(fā)運行的進程、任務或線程的形式運行在系統(tǒng)中,控制系統(tǒng)的多項功能。實時操作系統(tǒng)(RealTimeOperatingSystem)負責管理運行于硬件系統(tǒng)之上的應用軟件,按照系統(tǒng)任務優(yōu)先級控制系統(tǒng)資源的分配和使用,負責調(diào)用任務調(diào)度處理器運行并發(fā)系統(tǒng)和應用任務,并負責完成任務運行和任務間的上下文切換。嵌入式應用程序結(jié)構(gòu)——任務結(jié)構(gòu)與構(gòu)建任務分解任務通信任務創(chuàng)建任務運行響應任務與內(nèi)核連接——任務調(diào)度嵌入式軟件系統(tǒng)應用軟件這些軟件功能通常以并發(fā)運行的進程、任務或線程的形式運行在系統(tǒng)中,控制系統(tǒng)的多項功能。實時操作系統(tǒng)(RealTimeOperatingSystem)負責管理運行于硬件系統(tǒng)之上的應用軟件,按照系統(tǒng)任務優(yōu)先級控制系統(tǒng)資源的分配和使用,負責調(diào)用任務調(diào)度處理器運行并發(fā)系統(tǒng)和應用任務,并負責完成任務運行和任務間的上下文切換。嵌入式微處理器外圍硬件設備嵌入式操作系統(tǒng)應用程序代碼圖1- 嵌入式系統(tǒng)結(jié)構(gòu)組成圖C/OS簡介

1、C/OS——MicroControllerOS,微控制器操作系統(tǒng)2、C/OS簡介美國人JeanLabrosse1992年完成。應用面覆蓋了諸多領域,如照相機、醫(yī)療器械、音響設備、發(fā)動機控制、高速公路電話系統(tǒng)、自動提款機等。1998年C/OS-II,目前的版本C/OS-IIV2.61,2.72。2000年,得到美國航空管理局(FAA)的認證,可以用于飛行器中。網(wǎng)站www.ucos-II.com()。公開源代碼可移植性(Portable)

絕大部分C/OS-II的源碼是用移植性很強的ANSIC寫的。和微處理器硬件相關(guān)的那部分是用匯編語言寫的。匯編語言寫的部分已經(jīng)壓到最低限度,使得C/OS-II便于移植到其他微處理器上。C/OS-II可以在絕大多數(shù)8位、16位、32位以至64位微處理器、微控制器、數(shù)字信號處理器(DSP)上運行??晒袒≧OMable)

C/OS-II是為嵌入式應用而設計的,這就意味著,只要用戶有固化手段(C編譯、連接、下載和固化),C/OS-II可以嵌入到用戶的產(chǎn)品中成為產(chǎn)品的一部分??刹眉簦⊿calable)

可以只使用C/OS-II中應用程序需要的那些系統(tǒng)服務。也就是說某產(chǎn)品可以只使用很少幾個C/OS-II調(diào)用,而另一個產(chǎn)品則使用了幾乎所有C/OS-II的功能,這樣可以減少產(chǎn)品中的C/OS-II所需的存儲器空間(RAM和ROM)。這種可剪裁性是靠條件編譯實現(xiàn)的。C/OS的性能特點(一)搶占式(Preemptive)多任務

C/OS-II可以管理64個任務,然而,目前這一版本保留8個給系統(tǒng)。應用程序最多可以有56個任務可確定性

全部C/OS-II的函數(shù)調(diào)用與服務的執(zhí)行時間具有可確定性。任務棧

每個任務有自己單獨的棧,C/OS-II允許每個任務有不同的??臻g,以便壓低應用程序?qū)AM的需求。系統(tǒng)服務

C/OS-II提供很多系統(tǒng)服務,例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。中斷管理

中斷可以使正在執(zhí)行的任務暫時掛起,如果優(yōu)先級更高的任務被該中斷喚醒,則高優(yōu)先級的任務在中斷嵌套全部退出后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論