嵌入式系統(tǒng)-及其軟件開發(fā)_第1頁
嵌入式系統(tǒng)-及其軟件開發(fā)_第2頁
嵌入式系統(tǒng)-及其軟件開發(fā)_第3頁
嵌入式系統(tǒng)-及其軟件開發(fā)_第4頁
嵌入式系統(tǒng)-及其軟件開發(fā)_第5頁
已閱讀5頁,還剩116頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng) 及其軟件開發(fā)概述,陳香蘭 2007.5.21,主要內(nèi)容,一、嵌入式系統(tǒng)基本概念 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2007.5.21,2,Embedded Operating Systems,主要內(nèi)容,一、嵌入式系統(tǒng)基本概念 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2007.5.21,3,Embedded Operating Systems,嵌入式系統(tǒng)無處不在,xlanc

2、hen2007.5.21,4,Embedded Operating Systems,嵌入式系統(tǒng)開發(fā)技術(shù),嵌入式系統(tǒng)開發(fā)技術(shù) 是微處理器、單片機、微處理器等的應用技術(shù),包含硬件系統(tǒng)和操作系統(tǒng)兩大部分。 嵌入式系統(tǒng)的開發(fā)具有系統(tǒng)級應用開發(fā)技術(shù)的基本特征。,xlanchen2007.5.21,5,Embedded Operating Systems,什么是嵌入式系統(tǒng): 來自IEEE的定義,“Embedded system is devices used to control, monitor, or assist the operation of equipment, machinery or pl

3、ants”. IEEE 上述定義主要從應用上加以定義。 可以看出:嵌入式系統(tǒng)是軟硬件的綜合體,還可以涵蓋機械等附屬裝置。,xlanchen2007.5.21,6,Embedded Operating Systems,什么是嵌入式系統(tǒng): 廣義上,嵌入式系統(tǒng)是一種應用系統(tǒng),它至少包含一個可編程的計算機(通常是某種形式的微控制器、微處理器或數(shù)字信號處理芯片(DSP)且使用該系統(tǒng)的人一般并未意識到該系統(tǒng)是基于計算機的。,xlanchen2007.5.21,7,Embedded Operating Systems,什么是嵌入式系統(tǒng): 國內(nèi)的經(jīng)典定義,嵌入式系統(tǒng)是 “以應用為中心,以計算機技術(shù)為基礎,并且

4、軟硬件可裁剪,適用于應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)” 一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統(tǒng)以及用戶的應用程序等部分組成,用于實現(xiàn)對其他設備的控制、監(jiān)視或管理等功能。,xlanchen2007.5.21,8,Embedded Operating Systems,可以從以下幾個方面來理解國內(nèi)對嵌入式系統(tǒng)的定義: 嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應用的,它必須與具體應用相結(jié)合才會具有生命力、才更具有優(yōu)勢。 即嵌入式系統(tǒng)是與應用緊密結(jié)合的,它具有很強的專用性,必須結(jié)合實際系統(tǒng)需求進行合理的裁減利用。,xlanchen2007.5.21,9,Embe

5、dded Operating Systems,嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導體技術(shù)和電子技術(shù)以及各個行業(yè)的具體應用相結(jié)合后的產(chǎn)物。 這就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。所以,介入嵌入式系統(tǒng)行業(yè),必須有一個正確的定位。例如 Palm OS之所以在PDA領域占有70以上的市場,就是因為其立足于個人電子消費品,著重發(fā)展圖形界面和多任務管理; 而風河的vxWorks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。,xlanchen2007.5.21,10,Embedded Operating Systems,嵌入式系統(tǒng)必須根據(jù)應用需求可對軟硬件進行

6、裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎,然后在其上開發(fā)出適應各種需要的系統(tǒng),是一個比較好的發(fā)展模式。目前的嵌入式系統(tǒng)的核心往往是一個只有幾KB到幾十KB的微內(nèi)核,需要根據(jù)實際的使用進行功能擴展或者裁減,但是由于微內(nèi)核的存在,使得這種擴展能夠非常順利地進行。,xlanchen2007.5.21,11,Embedded Operating Systems,同時還應該看到,嵌入式系統(tǒng)本身還是一個外延極廣的名詞。凡是與產(chǎn)品結(jié)合在一起的具有嵌入式特點的控制系統(tǒng)都可以叫嵌入式系統(tǒng),而且有時很難給它下一個準確的定義。,xlanchen2007.5.21,12

7、,Embedded Operating Systems,嵌入式系統(tǒng)的體系結(jié)構(gòu),一般而言,嵌入式系統(tǒng)的構(gòu)架可以分成四個部分: 處理器、存儲器、 輸入輸出(I/O)、 軟件 多數(shù)嵌入式設備的應 用軟件和操作系統(tǒng)都 緊密結(jié)合,這也是 嵌入式系統(tǒng)和Windows 系統(tǒng)的最大區(qū)別 。,軟件,處理器,存儲器,輸入,輸出,xlanchen2007.5.21,13,Embedded Operating Systems,嵌入式系統(tǒng)特點,嵌入式計算機系統(tǒng)同通用型計算機系統(tǒng)相比具有以下特點: 1、嵌入式系統(tǒng)通常是面向特定應用的。 嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統(tǒng)中,它通

8、常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設計趨于小型化,移動能力大大增強,跟網(wǎng)絡的耦合也越來越緊密。,xlanchen2007.5.21,14,Embedded Operating Systems,2、嵌入式系統(tǒng)的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力 3、嵌入式系統(tǒng)和具體應用有機地結(jié)合在一起,它的升級換代也是和具體產(chǎn)品同步進行,因此嵌入式系統(tǒng)產(chǎn)品一旦進入市場,具有較長的生命周期。,xlanchen2007.5.21,15,E

9、mbedded Operating Systems,4、為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中 5、嵌入式系統(tǒng)本身不具備自舉開發(fā)能力,即使設計完成以后用戶通常也不能對其中的程序功能進行修改,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。,xlanchen2007.5.21,16,Embedded Operating Systems,主要內(nèi)容,一、嵌入式系統(tǒng)基本概念:定義;體系結(jié)構(gòu);特點 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2

10、007.5.21,17,Embedded Operating Systems,嵌入式系統(tǒng)硬件,從硬件方面來講,各式各樣的嵌入式處理器是嵌入式系統(tǒng)硬件中的最核心的部分。 目前,世界上具有嵌入式功能特點的處理器已超過1000種,流行體系結(jié)構(gòu)包括MCU、MPU等30多個系列。 目前嵌入式處理器的 尋址空間:可以從64KB到16MB, 處理速度:最快可以達到2000MIPS, 封裝:從幾個引腳到幾百個引腳不等。,xlanchen2007.5.21,18,Embedded Operating Systems,嵌入式系統(tǒng)硬件分類,目前來講,嵌入式處理器可以分成這樣一些類型 1、嵌入式微處理器( Micro

11、processor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU) 3、嵌入式DSP( Digital Signal Processor )處理器 4、嵌入式片上系統(tǒng)( System on Chip,SoC),xlanchen2007.5.21,19,Embedded Operating Systems,嵌入式系統(tǒng)硬件分類,目前來講,嵌入式處理器可以分成這樣一些類型 1、嵌入式微處理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU) 3、嵌入式DSP( Digital S

12、ignal Processor )處理器 4、嵌入式片上系統(tǒng)( System on Chip,SoC),xlanchen2007.5.21,20,Embedded Operating Systems,嵌入式微處理MPU,MPU(Microprocessor Unit)CPU MPU是由通用計算機中的CPU演變而來的,在本質(zhì)上與通用計算機的CPU是一樣的,只是在具體的實現(xiàn)細節(jié)和功能上有所不同。 裝配在專門設計的電路板上,只保留跟嵌入式應用緊密相關的功能部件,去除其他冗余功能部件,從而大幅減小系統(tǒng)的體積和功耗。 為了滿足嵌入式應用的特殊需求,MPU在工作溫度、抗電磁干擾、可靠性方面一般都做了各種增

13、強 ,在功能上會失去一些在嵌入式領域不常用的功能單元,xlanchen2007.5.21,21,Embedded Operating Systems,和工業(yè)控制計算機相比, MPU具有體積小、質(zhì)量輕、成本低、可靠性高的優(yōu)點,但是在電路板上必須包括ROM、RAM、總線接口、各種外設等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也比較差。 由于MPU及其存儲器、總線、外設等安裝在一塊電路板上,稱為單板計算機,如STD-BUS、PC104等。 MPU目前主要有: intel x86、IBM PowerPC、motorola 68K/coldfire、MIPS、ARM、Hitachi SuperH等系列,

14、xlanchen2007.5.21,22,Embedded Operating Systems,典型嵌入式微處理器: ARM系列,ARM(Advanced RISC Machines) 是ARM公司的高性能、廉價、低功耗的RISC處理器,適用于多種領域 如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。 ARM公司將其硬件技術(shù)授權(quán)給世界上許多著名的半導體廠商,包括Intel,IBM,LG,NEC,SONY,Philps這樣的大公司。 關于軟件系統(tǒng)的合伙人,則包括Microsoft、SUN等一系列著名公司,xlanchen2007.5.21,23,Embedded Operating Sys

15、tems,ARM公司提供一系列CPU內(nèi)核、體系擴展、微處理器和系統(tǒng)芯片方案。 由于所有產(chǎn)品均采用一個通用的基本體系結(jié)構(gòu),所以相同的軟件理論上可在所有產(chǎn)品中運行 目前,ARM公司常見的處理器系列有: ARM7、ARM9、ARM10、ARM11等,xlanchen2007.5.21,24,Embedded Operating Systems,典型嵌入式微處理器: MIPS,MIPS Microprocessor without Interlocked Piped Stages “無內(nèi)部互鎖流水線微處理器” 也是現(xiàn)在比較流行的一種RISC處理器,其機制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關問題 最

16、早是在20世紀80年代初由美國斯坦福大學Hennessy教授領導的研究小組研制出來的 在嵌入式方面,僅次于ARM 應用領域覆蓋游戲機,移動電話,數(shù)碼相機,ATM,路由器,打印機,掌上電腦等等各個方面,非常廣泛,xlanchen2007.5.21,25,Embedded Operating Systems,國內(nèi)的嵌入式微處理器: 龍芯,中國科學院計算所研制 具有自主知識產(chǎn)權(quán) 龍芯1號:32位MIPS處理器 龍芯2號 龍芯3號 龍芯+Linux/?,xlanchen2007.5.21,26,Embedded Operating Systems,手機的大概組成,xlanchen2007.5.21,2

17、7,Embedded Operating Systems,嵌入式系統(tǒng)硬件分類,目前來講,嵌入式處理器可以分成這樣一些類型 1、嵌入式微處理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU) 3、嵌入式DSP( Digital Signal Processor )處理器 4、嵌入式片上系統(tǒng)( System on Chip,SoC),xlanchen2007.5.21,28,Embedded Operating Systems,嵌入式微控制器MCU(1),MCU = Microcontroller Unit 一般又稱為單

18、片機,即將整個計算機系統(tǒng)集成到一塊芯片中 MCU一般以某種微處理器內(nèi)核為核心,芯片內(nèi)部集成ROM/EPROM,總線,總線邏輯,定時器,I/O單元,串口,A/D,D/A,flash等各種必要功能和外設 為適應不同的應用需求,一般一個系列的單片機具有多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)核基本都是一樣的,不同的是存儲器和外設的配置及封裝,xlanchen2007.5.21,29,Embedded Operating Systems,嵌入式微控制器MCU(2),與MPU相比,MCU的特點是 單片化,體積大大減小,成本和功耗下降,可靠性提高 微控制器的片上資源一般比較豐富,適合于比較簡單的控制過程(得名

19、的來由),xlanchen2007.5.21,30,Embedded Operating Systems,嵌入式微控制器MCU(3),代表性的通用系列 intel 8051,P51XA,MCS系列,motorola 68300等等 半通用系列 支持USB接口的MCU 8XC930/932、C540、C541 支持I2C、CAN-bus、LCD的MCU 等等,xlanchen2007.5.21,31,Embedded Operating Systems,嵌入式系統(tǒng)硬件分類,目前來講,嵌入式處理器可以分成這樣一些類型 1、嵌入式微處理器( Microprocessor Unit,MPU) 2、嵌入

20、式微控制器( Microcontroller Unit,MCU) 3、嵌入式DSP( Digital Signal Processor )處理器 4、嵌入式片上系統(tǒng)( System on Chip,SoC),xlanchen2007.5.21,32,Embedded Operating Systems,嵌入式DSP處理器EDSP,EDSP = Embedded Digital Signal Processor DSP在運算量較大(特別是向量運算、指針線性尋址很多)的場合發(fā)揮重要作用 對系統(tǒng)結(jié)構(gòu)和指令進行了特殊設計,使其適合與執(zhí)行DSP算法,編譯效率較高,指令執(zhí)行速度也較高 除了數(shù)字濾波,F(xiàn)FT

21、等之外,DSP處理器在各種帶有智能邏輯的產(chǎn)品,生物信息識別終端,實時語音編碼解碼系統(tǒng)中都得到了廣泛的應用 代表性的產(chǎn)品是Texas Instruments公司的TMS320系列和Motorola的DSP56000系列,xlanchen2007.5.21,33,Embedded Operating Systems,嵌入式系統(tǒng)硬件分類,目前來講,嵌入式處理器可以分成這樣一些類型 1、嵌入式微處理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU) 3、嵌入式DSP( Digital Signal Processor )處理

22、器 4、嵌入式片上系統(tǒng)( System on Chip,SoC),xlanchen2007.5.21,34,Embedded Operating Systems,嵌入式片上系統(tǒng)SOC(1),SOC = System on Chip 隨著VLSI技術(shù)的發(fā)展,在一個硅片上可以包括CPU、各種外設控制器(如網(wǎng)絡控制器、LCD控制器等)等多個功能單元,構(gòu)成一個完整的復雜硬件系統(tǒng),這就是嵌入式片上系統(tǒng) 嵌入式處理器內(nèi)核可以作為SoC的一種標準庫,與其他嵌入式系統(tǒng)外設一樣,成為VLSI設計中的一種標準器件,用VHDL等語言描述,存儲在器件庫中 用戶只需定義出其整個應用系統(tǒng),仿真通過后,就可以將設計圖交給半

23、導體工廠制作,Very Large Scaled Integration 超大規(guī)模集成,VHSIC Hardware Description Language 硬件描述語言,Very High Speed Integrated Circuit 超高速集成電路,xlanchen2007.5.21,35,Embedded Operating Systems,嵌入式片上系統(tǒng)SOC(2),這樣,整個嵌入式系統(tǒng)大部分都可以集成到一塊或幾塊芯片中去,系統(tǒng)電路板將變得很簡潔,對減小體積和功耗,提高可靠性非常有利 SoC可以分為通用和專用兩類,市場份額比較小,xlanchen2007.5.21,36,Embe

24、dded Operating Systems,主要內(nèi)容,一、嵌入式系統(tǒng)基本概念 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2007.5.21,37,Embedded Operating Systems,嵌入式系統(tǒng)的軟件,簡單的嵌入式應用 若嵌入式系統(tǒng)的功能需求比較簡單,如電動玩具、空調(diào)、冰箱等,則嵌入式系統(tǒng)軟件只需完成較簡單的功能,就不需要嵌入式操作系統(tǒng)的支持。 如:基于8051的應用 兒童玩具、汽車系統(tǒng)等等 復雜的嵌入式應用 若功能比較復雜,需要網(wǎng)絡功能、存儲器管理、進程/線程管理等,則通過

25、嵌入式操作系統(tǒng)的幫助,可以加快嵌入式系統(tǒng)軟件的開發(fā)進度和可靠性。,xlanchen2007.5.21,38,Embedded Operating Systems,簡單的嵌入式應用,簡單的嵌入式應用不需要使用操作系統(tǒng) 當系統(tǒng)上電后,main函數(shù)將被調(diào)用,首先初始化,然后進入循環(huán)直到系統(tǒng)停電或者出現(xiàn)重大錯誤。 超級循環(huán) void main(void) /prepare for function X X_init(); While(1) X(); ,xlanchen2007.5.21,39,Embedded Operating Systems,簡單的嵌入式應用的開發(fā)過程,簡單的嵌入式應用的開發(fā)過程

26、在個人電腦上配置交叉開發(fā)環(huán)境、安裝仿真器,編寫程序,交叉編譯,在仿真器上運行測試并修改直到軟件滿足需求; 利用面包板開發(fā)和調(diào)試軟、硬件 利用編程器將軟件燒到開發(fā)好的系統(tǒng)中進行現(xiàn)場運行測試,xlanchen2007.5.21,40,Embedded Operating Systems,主要內(nèi)容,一、嵌入式系統(tǒng)基本概念 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2007.5.21,41,Embedded Operating Systems,嵌入式操作系統(tǒng),簡單的說,嵌入式操作系統(tǒng)就是支持嵌入式系統(tǒng)

27、工作的操作系統(tǒng)。在本質(zhì)上與通用的操作系統(tǒng)沒有太大的區(qū)別,一般用于比較復雜的嵌入式系統(tǒng)中,例如 手機、PDA等電子類消費產(chǎn)品 機頂盒、路由器等 對嵌入式系統(tǒng)的硬件有較高的要求,xlanchen2007.5.21,42,Embedded Operating Systems,基于嵌入式操作系統(tǒng)的嵌入式應用開發(fā),確定需求 根據(jù)需求選擇合適的硬件 硬實時/軟實時系統(tǒng)? 什么處理器?哪些輔助硬件? 選擇嵌入式操作系統(tǒng) 選擇開發(fā)平臺 編程語言、軟件開發(fā)工具 實際的開發(fā)平臺包括硬件開發(fā)平臺、操作系統(tǒng)、編程語言以及軟件開發(fā)工具,xlanchen2007.5.21,43,Embedded Operating Sy

28、stems,編寫并優(yōu)化代碼 一般在主機系統(tǒng)上進行開發(fā)和優(yōu)化工作。 代碼優(yōu)化主要在軟件執(zhí)行速度和軟件尺寸之間取得平衡,滿足嵌入式系統(tǒng)對速度和存儲空間的限制。在嵌入式開發(fā)中,一般需要避免使用大型的軟件庫,避免使用遞歸編程,減少堆棧的消耗。 在模擬器或者開發(fā)板上調(diào)試,xlanchen2007.5.21,44,Embedded Operating Systems,嵌入式軟件系統(tǒng)的指標,尺寸 滿足硬件限制 實時性 硬實時,軟實時和非實時系統(tǒng) 網(wǎng)絡能力 人機交互能力,xlanchen2007.5.21,45,Embedded Operating Systems,嵌入式系統(tǒng)的實時性,嵌入式系統(tǒng)一般具有實時的

29、特點。 所謂實時系統(tǒng)是指在這種系統(tǒng)中, 一個優(yōu)先級高的任務能夠得到立即的、沒有延遲的服務,不需要等待任何其他優(yōu)先級低的任務,一旦它得到CPU的使用權(quán),將一直執(zhí)行直到工作結(jié)束或者出現(xiàn)更高級別的進程。 為了滿足這樣的需求,嵌入式操作系統(tǒng)必須具有高效的中斷處理能力和高效的IO能力,xlanchen2007.5.21,46,Embedded Operating Systems,嵌入式操作系統(tǒng)分類,硬實時系統(tǒng) 確保系統(tǒng)中的關鍵任務在確定的時間得到響應,不能有失敗的情況,否則會出現(xiàn)嚴重后果 軟實時系統(tǒng) 設計的時候是有響應時間要求的,但是偶爾某些任務的響應時間超過這個限制也不會有嚴重的后果 非實時系統(tǒng) 無響

30、應時間的要求,xlanchen2007.5.21,47,Embedded Operating Systems,實時系統(tǒng)的幾個指標,預測反應時間 可調(diào)度性 強負載下的穩(wěn)定性,xlanchen2007.5.21,48,Embedded Operating Systems,1、預測反應時間,在工業(yè)控制系統(tǒng)中,實時可定義為系統(tǒng)對某事件響應時間的可預測性。 一個事件發(fā)生后,系統(tǒng)須在一個可準確預見的時間范圍內(nèi)作出反應。,xlanchen2007.5.21,49,Embedded Operating Systems,2、可調(diào)度性,實時任務具有時限要求,調(diào)度實時任務時,需要判斷是否每個任務的執(zhí)行都能夠在其截止

31、期限內(nèi)完成。 如果每個任務的執(zhí)行都能夠在其截止期限內(nèi)完成,則稱該調(diào)度是可行的 可調(diào)度性判定(或稱調(diào)度可行性判定)就是判定給定的n個實時任務在應用某種調(diào)度算法的前提下能否產(chǎn)生一個可行的調(diào)度。 調(diào)度算法的設計要盡可能滿足任務可調(diào)度性的要求,xlanchen2007.5.21,50,Embedded Operating Systems,3、強負載下的穩(wěn)定性,實時穩(wěn)定性隨著系統(tǒng)的負載有所不同 當系統(tǒng)的負載變得很大時,如果系統(tǒng)不能保證所有任務的時間要求,應當能使其中一部分關鍵任務始終滿足時限要求,xlanchen2007.5.21,51,Embedded Operating Systems,主要內(nèi)容,一

32、、嵌入式系統(tǒng)基本概念 二、嵌入式硬件的發(fā)展 三、嵌入式軟件及其開發(fā) 四、嵌入式操作系統(tǒng)及系統(tǒng)開發(fā) 五、典型嵌入式操作系統(tǒng)介紹 六、嵌入式操作系統(tǒng)選型,xlanchen2007.5.21,52,Embedded Operating Systems,嵌入式操作系統(tǒng)一覽,xlanchen2007.5.21,53,Embedded Operating Systems,常見嵌入式實時操作系統(tǒng),RTlinux及其他嵌入式實時Linux uC/OS II wind river systems公司的Vxworks QNX software systems公司的QNX。 pSOS OS/9 VRTX eCOS,

33、xlanchen2007.5.21,54,Embedded Operating Systems,常見嵌入式非實時操作系統(tǒng),Microsoft公司的windows CE、Embedded windows xp Palm公司的Palm OS symbian公司的EPOC 一些嵌入式linux系統(tǒng),xlanchen2007.5.21,55,Embedded Operating Systems,介紹幾款典型的嵌入式操作系統(tǒng),uC/OS II ThreadX Windows系列的嵌入式操作系統(tǒng) VxWorks 嵌入式Linux,xlanchen2007.5.21,56,Embedded Operatin

34、g Systems,1、uC/OS II,免費的公開源碼實時操作系統(tǒng) 內(nèi)核提供任務調(diào)度和管理、時鐘管理、任務間同步與通信、內(nèi)存管理和中斷服務等功能 最多支持64個任務,分別對應優(yōu)先級063,其中0為最高優(yōu)先級 可剝奪實時多任務內(nèi)核 調(diào)度工作的內(nèi)容分為兩部分:最高優(yōu)先級任務的尋找和任務切換,xlanchen2007.5.21,57,Embedded Operating Systems,內(nèi)核是針對實時系統(tǒng)的要求來設計實現(xiàn)的,相對比較簡單,可以滿足較高的實時性要求 但是沒有網(wǎng)絡功能和文件系統(tǒng),對于像媒體播放、需要網(wǎng)絡和圖形界面支持的應用就比較差,xlanchen2007.5.21,58,Embedd

35、ed Operating Systems,2、ThreadX操作系統(tǒng),只需要很小的存儲器容量(最低5k) 硬實時的處理能力 有功能強大的專門的開發(fā)調(diào)試支持工具 支持了市場上絕大部分的CPU 同樣也是商業(yè)化的操作系統(tǒng),xlanchen2007.5.21,59,Embedded Operating Systems,更強的功能,3、微軟的移動平臺,xlanchen2007.5.21,60,Embedded Operating Systems,Windows Embedded 家族,xlanchen2007.5.21,61,Embedded Operating Systems,Windows CE,主

36、要用于PDA,smartphone等個人手持終端上 支持多線程 支持多種軟硬件 最大的特點就是能提供與pc 機類似的圖形界面和主要的應用程序 地道的商業(yè)操作系統(tǒng),xlanchen2007.5.21,62,Embedded Operating Systems,Windows CE(2),主要模塊 內(nèi)核模塊:支持進程和線程處理及內(nèi)存管理等基本服務 內(nèi)核系統(tǒng)調(diào)用接口模塊:運行應用程序訪問操作系統(tǒng)提供的服務 文件系統(tǒng)模塊:支持dos,fat等格式的文件系統(tǒng) 圖形窗口和事件子系統(tǒng)模塊:控制圖形顯示,并提供windows GUI界面 通信模塊:運行同其他設備進行信息交換,xlanchen2007.5.21

37、,63,Embedded Operating Systems,4、VxWorks嵌入式實時操作系統(tǒng),VxWorks 是風河(WindRiver)公司開發(fā)的一款商用硬實時操作系統(tǒng) 支持主流的32位CPU,包括 x86、 68K、PowerPC、MIPS、ARM等 基于微內(nèi)核結(jié)構(gòu),由400多個相對獨立的,短小精悍的目標模塊組成,可裁剪性和可配置性相當出色,xlanchen2007.5.21,64,Embedded Operating Systems,VxWorks,主要思想: 在嵌入式系統(tǒng)中最大限度地實現(xiàn)內(nèi)核的時間可預測性,根據(jù)用戶定義的任務優(yōu)先級對任務實現(xiàn)調(diào)度。 給用戶最大的控制權(quán),xlanch

38、en2007.5.21,65,Embedded Operating Systems,VxWorks,Vxworks的基本構(gòu)成模塊包括以下部分 : 高效實時微內(nèi)核wind: Vxworks實時微內(nèi)核wind以靈活性和可配置性為設計目標,它主要包括 基于優(yōu)先級的任務調(diào)度 任務同步和通信 中斷處理 定時器 內(nèi)存管理 兼容POSIX實時系統(tǒng)標準,xlanchen2007.5.21,66,Embedded Operating Systems,I/O處理系統(tǒng): Vxworks提供與ANSIC兼容的I/O處理系統(tǒng),主要包括 UNIX緩沖I/O處理系統(tǒng),和 面向?qū)崟r的異步I/O處理系統(tǒng) 本機文件系統(tǒng) 網(wǎng)絡處理

39、模塊: Vxworks網(wǎng)絡處理模塊能與許多運行其他協(xié)議的網(wǎng)絡進行通信,如TCP/IP、NFS、UDP、SNMP、FTP等,xlanchen2007.5.21,67,Embedded Operating Systems,虛擬內(nèi)存模塊VxVMI: VxVMI主要用于對指定內(nèi)存區(qū)的保護,如內(nèi)存塊只讀等 共享內(nèi)存模塊VxMP: 主要用于多處理器行運行任務之間的共享信號量、消息隊列、內(nèi)存塊管理 板級支持包BSP: 提供各種硬件的初始化、中斷的建立、定時器、內(nèi)存映象,xlanchen2007.5.21,68,Embedded Operating Systems,VxWorks的評價,Vxworks是一款非

40、常出色的嵌入式實時操作系統(tǒng),但是它是不公開源碼的商業(yè)化操作系統(tǒng),價格比較高 為追求系統(tǒng)的實時性而設計的,并不是以通用OS為設計目標。 去掉了一些OS模塊,因為這些模塊在某種程度上會影響系統(tǒng)的實時性 (如在內(nèi)存管理中沒有采用頁面管理模式,采用的是平板式內(nèi)存)。,xlanchen2007.5.21,69,Embedded Operating Systems,任務調(diào)度采用的是基于優(yōu)先級的搶占式任務調(diào)度模式,優(yōu)先級分256級(0-255) 用戶可以動態(tài)的改變優(yōu)先級,但是這種做法不提倡 用戶可以鎖定一個任務使它不被更高的任務或中斷搶占 允許使用固定優(yōu)先級響應時間來檢查任務調(diào)度的性能,xlanchen20

41、07.5.21,70,Embedded Operating Systems,資源共享和優(yōu)先級繼承機制 采用最優(yōu)化的上下文切換和中斷返回機制. 內(nèi)核從不禁止非屏蔽中斷 NMI (non-maskable interrupts),xlanchen2007.5.21,71,Embedded Operating Systems,VxWorks缺點,缺少某些OS特性 保證時限要求是設計者自己的任務(系統(tǒng)的靈活性帶來的弊端) 不支持很多應用和APIs(只支持部分POSIX標準的函數(shù)集) 盡管采用了平板式內(nèi)存管理,但是由于內(nèi)存的動態(tài)分配,仍然存在內(nèi)存段,這樣仍然存在時間上的不可預測性,xlanchen200

42、7.5.21,72,Embedded Operating Systems,應用領域主要局限在對實時性要求較嚴格的硬實時系統(tǒng)中 帶給用戶最大的控制權(quán)的同時,用戶對系統(tǒng)的實時性調(diào)度責任也更大,xlanchen2007.5.21,73,Embedded Operating Systems,Tornado 集成開發(fā)環(huán)境,xlanchen2007.5.21,74,Embedded Operating Systems,GDB 調(diào)試工具,xlanchen2007.5.21,75,Embedded Operating Systems,WindView 多任務跟蹤和觀察工具,xlanchen2007.5.21,

43、76,Embedded Operating Systems,5、嵌入式Linux ,Linux簡介 嵌入式Linux簡介,xlanchen2007.5.21,77,Embedded Operating Systems,將Linux嵌入到各種設備中:,NASA 個人助理,xlanchen2007.5.21,78,Embedded Operating Systems,開發(fā)過程,Linux 操作系統(tǒng)選擇,操作系統(tǒng)的移植與改進,Driver and Application software development,從系統(tǒng)設計,測試,Rehat,bluecat,RTLinux,Monta Vista L

44、inux,RTAI,,Tekram,HP,Intel,xlanchen2007.5.21,79,Embedded Operating Systems,Linux簡介,什么是Linux Linux發(fā)展簡史 Linux系統(tǒng)的好處 Linux系統(tǒng)組成 Linux版本,xlanchen2007.5.21,80,Embedded Operating Systems,什么是Linux?,Linux是一個類Unix(Unix-like)的操作系統(tǒng),在1991年發(fā)行了它的第一個版本 在不同的語境下,“Linux”具有不同的內(nèi)涵,例如: Linux

45、內(nèi)核、Linux系統(tǒng)或Linux開發(fā)套件等術(shù)語。 嚴格來說,Linux指的是Linux Torvalds維護的(及通過主要和鏡像網(wǎng)站發(fā)布的)內(nèi)核。 GNU/Linux GNU/Linux的擁護者們認為,Linux僅僅是指Linux內(nèi)核,而整個Linux系統(tǒng)的大部分都建立在GNU軟件之上。,xlanchen2007.5.21,81,Embedded Operating Systems,Linux發(fā)展簡史,1991年11月,芬蘭赫爾辛基大學的學生 Linus Torvalds寫了個小程序,取名為Linux,放在互聯(lián)網(wǎng)上。他表達了一個愿望,希望借此搞出一個操作系統(tǒng)的“內(nèi)核”來,這完全是一個偶然事件

46、1993,在一批高水平黑客的參與下,誕生了Linux 1.0 版 1994年,Linux 的第一個商業(yè)發(fā)行版 Slackware 問世,xlanchen2007.5.21,82,Embedded Operating Systems,1996年,美國國家標準技術(shù)局的計算機系統(tǒng)實驗室確認 Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 標準 2001年,Linux2.4版內(nèi)核發(fā)布 2003年,Linux2.6版內(nèi)核發(fā)布 ,Portable Operating System Interface Standard 可移植操作系統(tǒng)接口標準 由IEEE制訂,并由ISO

47、接受為國際標準。,Institute for Electrical and Electronic Engineers 電氣電子工程師學會美,International Organization for Standardization 國際標準化組織 制定各行各業(yè)各種產(chǎn)品和服務的技術(shù)規(guī)范(國際標準),xlanchen2007.5.21,83,Embedded Operating Systems,Linux操作系統(tǒng)的主要內(nèi)容,Linux是免費的、源代碼開放的、符合POSIX標準規(guī)范的操作系統(tǒng) 擁有現(xiàn)代操作系統(tǒng)具有的所有內(nèi)容,例如 搶占式多任務處理,支持多用戶 內(nèi)存保護, 支持SMP,支持TCP/I

48、P, 支持絕大多數(shù)的32位和64位CPU 等 還有一些其他操作系統(tǒng)沒有的特色,比如 NFS,VFS,高效的EXT系列文件系統(tǒng)等,xlanchen2007.5.21,84,Embedded Operating Systems,Linux版本,Linux的內(nèi)核版本 幾種流行的Linux發(fā)行版本,xlanchen2007.5.21,85,Embedded Operating Systems,Linux的內(nèi)核版本,Linux內(nèi)核版本是由Linus Torvalds作為總體協(xié)調(diào)人的Linux開發(fā)小組(分布在各個國家的近百位高手)開發(fā)出的系統(tǒng)內(nèi)核的版本號 Linux內(nèi)核采用的是雙樹系統(tǒng) 一棵是穩(wěn)定樹,主要

49、用于發(fā)行 另一棵是非穩(wěn)定樹或稱為開發(fā)樹,用于產(chǎn)品開發(fā)和改進 Linux內(nèi)核版本號由3位數(shù)字組成,r.x.y,第1位數(shù)字r為主版本號,第2位數(shù)字x為說明版本類型的次版本號,如果x為偶數(shù),則表示為產(chǎn)品化版本,為奇數(shù)時表示為實驗版本,第3位數(shù)字y為修改號,表示錯誤修補的次數(shù),xlanchen2007.5.21,86,Embedded Operating Systems,幾種流行的Linux發(fā)行版本,xlanchen2007.5.21,87,Embedded Operating Systems,Linux系統(tǒng)的好處,支持多種CPU X86, ARM, MIPS, SH, i960, PPC, etc.

50、 開放源代碼(Open source) 強大的網(wǎng)絡功能 可移植性 使用GNU tools,xlanchen2007.5.21,88,Embedded Operating Systems,一個新潮,非常穩(wěn)定,多用戶,多任務的環(huán)境 標準的平臺 無法超越的計算能力,可移動性和適應性 先進的圖形用戶界面 幾十個異常出色而且免費的桌面應用程序 成千上萬個免費的工具和應用小程序 幾百上千個專業(yè)程序由全世界的無數(shù)研究人員編制,覆蓋了天文,信息技術(shù),化學,物理,工程,語言,生物等各個學科領域,xlanchen2007.5.21,89,Embedded Operating Systems,一個真正杰出的學習系統(tǒng)

51、 很多頂級的系統(tǒng)開發(fā)平臺,友好的編程語言及編程工具都免費包含在操作系統(tǒng)里面 病毒入侵,計算機的“后門”,軟件提供商的“特別要求”,強迫性的軟件升級,專有的文件格式,軟件使用許可證和市場策略,產(chǎn)品注冊登記,高得驚人的軟件價格,等等 -Linux都沒有 Linux操作系統(tǒng)平臺保證它的“永久性” 一個技術(shù)快速更新的平臺,xlanchen2007.5.21,90,Embedded Operating Systems,嵌入式Linux介紹,什么是嵌入式Linux 嵌入式linux的典型應用 嵌入式linux的分類 常見的嵌入式Linux,xlanchen2007.5.21,91,Embedded Ope

52、rating Systems,什么是嵌入式Linux,嵌入式Linux內(nèi)核 為特殊的硬件配置、或為了支持特別的應用而經(jīng)過特別的裁剪的修改過的Linux內(nèi)核 通常具有不同于工作站與服務器的內(nèi)核配置 嵌入式Linux系統(tǒng) 基于Linux內(nèi)核的嵌入式系統(tǒng) 嵌入式Linux發(fā)行套件 開發(fā)嵌入式Linux系統(tǒng)的平臺 各種為了在嵌入式系統(tǒng)中使用而剪裁過的應用軟件,xlanchen2007.5.21,92,Embedded Operating Systems,嵌入式Linux的典型應用,xlanchen2007.5.21,93,Embedded Operating Systems,嵌入式Linux的分類,分

53、類依據(jù)包括: 應用的市場 嵌入式系統(tǒng)的規(guī)模 時限(即實時)要求 網(wǎng)絡能力 與用戶交互能力 等,xlanchen2007.5.21,94,Embedded Operating Systems,嵌入式Linux的分類1 市場,根據(jù)應用的市場來劃分 航空航天、汽車系統(tǒng)、消費性電子產(chǎn)品、電信等 無法為所指的系統(tǒng)提供額外的信息,xlanchen2007.5.21,95,Embedded Operating Systems,嵌入式Linux的分類2 規(guī)模,嵌入式系統(tǒng)的規(guī)模由一些不同的因素來決定,首先實際的尺寸大小 有些系統(tǒng)的尺寸可能相當大,例如那些用來構(gòu)建集群的產(chǎn)品 有些卻非常小,例如IBM制造的Linu

54、x手表 最重要的是,嵌入式系統(tǒng)的規(guī)模與系統(tǒng)中各個電子原件的屬性有關,如CPU的運算速度、RAM容量、永久性存儲器的容量,xlanchen2007.5.21,96,Embedded Operating Systems,嵌入式Linux的分類2 電子元件的規(guī)模,根據(jù)嵌入式系統(tǒng)的電子元件的規(guī)模分類,包括 小型、中型、大型 小型系統(tǒng)的特性是:低運算能力的CPU,并且可以使用至少2MB的ROM和4MB的RAM。 對于更小的系統(tǒng),你會發(fā)現(xiàn)也許不用操作系統(tǒng)或者使用其他的操作系統(tǒng)更加合適,因為將Linux嵌入到這樣的系統(tǒng)中比較費功夫,xlanchen2007.5.21,97,Embedded Operatin

55、g Systems,嵌入式Linux的分類2 電子元件的規(guī)模,中型系統(tǒng)的特性是: 中等運算能力的CPU,并且可以使用大約32MB的ROM和64MB的RAM。 大多數(shù)以Linux構(gòu)建的消費性產(chǎn)品皆屬此類,包括PDA、MP3播放器,娛樂系統(tǒng)以及網(wǎng)絡設備。 有些產(chǎn)品可能會包含如下形式的輔助存儲器: 固態(tài)硬盤(以RAM芯片制成的硬盤)、快閃存儲卡甚至是傳統(tǒng)的硬盤。,xlanchen2007.5.21,98,Embedded Operating Systems,嵌入式Linux的分類2 電子元件的規(guī)模,大型系統(tǒng)的特性是: 使用運算能力強大的CPU,或是使用多個CPU并且可以使用大量的RAM和永久性存儲器

56、 通常,這類系統(tǒng)需要進行大量計算來完成特定的任務。 例如大型的電信交換機以及飛行仿真器。,xlanchen2007.5.21,99,Embedded Operating Systems,嵌入式Linux的分類3 實時要求,根據(jù)嵌入式系統(tǒng)的時限要求,可以分為 嚴格時限的要求:系統(tǒng)必須在預定的時間之內(nèi)作出反應,否則會發(fā)生災難事件。即硬實時系統(tǒng) 軟實時系統(tǒng) 像音頻、視頻流系統(tǒng)往往是軟實時系統(tǒng),因為該系統(tǒng)一時的失誤并不會造成無法彌補的災難。但仍然應當被設計為具備嚴格的時間要求 寬松的時限的要求比較泛,不過他們一般會被應用在需要及時(或適時)作出響應但不必立即完成的系統(tǒng)上。這樣的系統(tǒng)雖然比較慢,但是不會

57、影響最后結(jié)果,xlanchen2007.5.21,100,Embedded Operating Systems,基于Linux的嵌入式操作系統(tǒng),uCLinux ARMLinux RT-Linux/RTAI Embedix Blue Cat Linux Hard Hat Linux 等等,xlanchen2007.5.21,101,Embedded Operating Systems,1)Clinux,Clinux是應用于嵌入式設備的最著名、應用最廣泛一個Linux發(fā)行版本,它也是一個開放源碼的項目,Clinux的源代碼和開發(fā)工具可以免費從 上下載得到。

58、 Clinux的含義: Micro-Control-Linux:專門針對微控制器領域而設計的嵌入式Linux系統(tǒng) Clinux同標準Linux的最大區(qū)別就在于內(nèi)存管理 1、標準Linux使用的虛擬存儲器技術(shù) 2、Clinux針對NOMMU,xlanchen2007.5.21,102,Embedded Operating Systems,2)ARM Linux,Linux標準發(fā)行內(nèi)核中的一個分支 ARM Linux主要是由Russell King和其他人的共同努力,將Linux作業(yè)系統(tǒng)成功的移植在以ARM處理器為核心的機器上。 與uClinux不同,支持帶有MMU的ARM系列CPU 如ARM61

59、0、ARM710、ARM720T、ARM920T、Intel StrongARM、Xscale等,xlanchen2007.5.21,103,Embedded Operating Systems,3)支持硬實時的Linux: RT-Linux/RTAI,RT-Linux 是新墨西哥科技大學的研究成果(1996) 其目標是在Linux環(huán)境下提供確定的響應時間 其基本思想是: 為了在Linux系統(tǒng)中提供對于硬實時的支持,它實現(xiàn)了一個微內(nèi)核的小的實時操作系統(tǒng)(RT-Linux),而將普通Linux系統(tǒng)作為一個該操作系統(tǒng)中的一個低優(yōu)先級的任務來運行,由RT-Linux提供的一個實時調(diào)度器對其進行調(diào)度。其他的實時任務作為一個RT-Linux的可加載內(nèi)核模塊,其優(yōu)先級比普通Linux系統(tǒng)要高,xlanchen2007.5.21,104,Embedded Operating Systems,RT-Linux的框架,xlanchen2007.

溫馨提示

  • 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

提交評論