- 相關推薦
嵌入式系統(tǒng)基礎知識
嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),作為裝置或設備的一部分。通常,嵌入式系統(tǒng)是一個控制程序存儲在ROM中的嵌入式處理器控制板。下面是小編整理的關于嵌入式系統(tǒng)基礎知識,歡迎大家閱讀!
1、嵌入式系統(tǒng)的定義
(1)定義:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。
(2)嵌入式系統(tǒng)發(fā)展的4個階段:無操作系統(tǒng)階段、簡單操作系統(tǒng)階段、實時操作系統(tǒng)階段、面向Internet階段。
(3)知識產權核(IP核):具有知識產權的、功能具體、接口規(guī)范、可在多個集成電路設計中重復使用的功能模塊,是實現(xiàn)系統(tǒng)芯片(SOC)的基本構件。
(4)IP核模塊有行為、結構和物理3級不同程度的設計,對應描述功能行為的不同可以分為三類:軟核、固核、硬核。
2、嵌入式系統(tǒng)的組成
包含:硬件層、中間層、系統(tǒng)軟件層和應用軟件層
(1)硬件層:嵌入式微處理器、存儲器、通用設備接口和I/O接口。
嵌入式核心模塊=微處理器+電源電路+時鐘電路+存儲器
Cache:位于主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數(shù)據(jù)。它的主要目標是減小存儲器給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快。
(2)中間層(也稱為硬件抽象層HAL或者板級支持包BSP).
它將系統(tǒng)上層軟件和底層硬件分離開來,使系統(tǒng)上層軟件開發(fā)人員無需關系底層硬件的具體情況,根據(jù)BSP層提供的接口開發(fā)即可。
BSP有兩個特點:硬件相關性和操作系統(tǒng)相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統(tǒng)的硬件初始化和BSP功能。
片級初始化:純硬件的初始化過程,把嵌入式微處理器從上電的默認狀態(tài)逐步設置成系統(tǒng)所要求的工作狀態(tài)。
板級初始化:包含軟硬件兩部分在內的初始化過程,為隨后的系統(tǒng)初始化和應用程序建立硬件和軟件的運行環(huán)境。
系統(tǒng)級初始化:以軟件為主的初始化過程,進行操作系統(tǒng)的初始化。
B、 設計硬件相關的設備驅動。
(3)系統(tǒng)軟件層:由RTOS、文件系統(tǒng)、GUI、網絡系統(tǒng)及通用組件模塊組成。
RTOS是嵌入式應用軟件的基礎和開發(fā)平臺。
(4)應用軟件:由基于實時系統(tǒng)開發(fā)的應用程序組成。
3、實時系統(tǒng)
(1)定義:能在指定或確定的時間內完成系統(tǒng)功能和對外部或內部、同步或異步時間做出響應的系統(tǒng)。
(2)區(qū)別:通用系統(tǒng)一般追求的是系統(tǒng)的平均響應時間和用戶的使用方便;而實時系統(tǒng)主要考慮的是在最壞情況下的系統(tǒng)行為。
(3)特點:時間約束性、可預測性、可靠性、與外部環(huán)境的交互性。
(4)硬實時(強實時):指應用的時間需求應能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財產損失和生態(tài)破壞,如:航天、軍事。
(5)軟實時(弱實時):指某些應用雖然提出了時間的要求,但實時任務偶爾違反這種需求對系統(tǒng)運行及環(huán)境不會造成嚴重影響,如:監(jiān)控系統(tǒng)、實時信息采集系統(tǒng)。
(6)任務的約束包括:時間約束、資源約束、執(zhí)行順序約束和性能約束。
4、實時系統(tǒng)的調度
(1)調度:給定一組實時任務和系統(tǒng)資源,確定每個任務何時何地執(zhí)行的整個過程。
(2)搶占式調度:通常是優(yōu)先級驅動的調度,如uCOS。優(yōu)點是實時性好、反應快,調度算法相對簡單,可以保證高優(yōu)先級任務的時間約束;缺點是上下文切換多。
(3)非搶占式調度:通常是按時間片分配的調度,不允許任務在執(zhí)行期間被中斷,任務一旦占用處理器就必須執(zhí)行完畢或自愿放棄,如WinCE。優(yōu)點是上下文切換少;缺點是處理器有效資源利用率低,可調度性不好。
(4)靜態(tài)表驅動策略:系統(tǒng)在運行前根據(jù)各任務的時間約束及關聯(lián)關系,采用某種搜索策略生成一張運行時刻表,指明各任務的起始運行時刻及運行時間。
(5)優(yōu)先級驅動策略:按照任務優(yōu)先級的高低確定任務的執(zhí)行順序。
(6)實時任務分類:周期任務、偶發(fā)任務、非周期任務。
(7)實時系統(tǒng)的通用結構模型:數(shù)據(jù)采集任務實現(xiàn)傳感器數(shù)據(jù)的采集,數(shù)據(jù)處理任務處理采集的數(shù)據(jù)、并將加工后的數(shù)據(jù)送到執(zhí)行機構管理任務控制機構執(zhí)行。
5、嵌入式微處理器體系結構
(1)馮諾依曼結構:程序和數(shù)據(jù)共用一個存儲空間,程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序和數(shù)據(jù)的寬度相同。例如:8086、ARM7、MIPS…
(2)哈佛結構:程序和數(shù)據(jù)是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問,是一種將程序存儲和數(shù)據(jù)存儲分開的存儲器結構。例如:AVR、ARM9、ARM10…
(3)CISC與RISC的特點比較。
計算機執(zhí)行程序所需要的時間P可以用下面公式計算:
P=I×CPI×T
I:高級語言程序編譯后在機器上運行的指令數(shù)。
CPI:為執(zhí)行每條指令所需要的平均周期數(shù)。
T:每個機器周期的時間。
(4)流水線的思想:在CPU中把一條指令的串行執(zhí)行過程變?yōu)槿舾芍噶畹淖舆^程在CPU中重疊執(zhí)行。
(5)流水線的指標:
吞吐率:單位時間里流水線處理機流出的結果數(shù)。如果流水線的子過程所用時間不一樣長,則吞吐率應為最長子過程的倒數(shù)。
建立時間:流水線開始工作到達最大吞吐率的時間。若m個子過程所用時間一樣,均為t,則建立時間T=mt。
(6)信息存儲的字節(jié)順序
A、存儲器單位:字節(jié)(8位)
B、字長決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節(jié)順序:低字節(jié)在內存低地址處,高字節(jié)在內存高地址處。
E、大端字節(jié)順序:高字節(jié)在內存低地址處,低字節(jié)在內存高地址處。
F、網絡設備的存儲順序問題取決于OSI模型底層中的數(shù)據(jù)鏈路層。
6、邏輯電路基礎
(1)根據(jù)電路是否具有存儲功能,將邏輯電路劃分為:組合邏輯電路和時序邏輯電路。
(2)組合邏輯電路:電路在任一時刻的輸出,僅取決于該時刻的輸入信號,而與輸入信號作用前電路的狀態(tài)無關。常用的邏輯電路有譯碼器和多路選擇器等。
(3)時序邏輯電路:電路任一時刻的輸出不僅與該時刻的輸入有關,而且還與該時刻電路的狀態(tài)有關。因此,時序電路中必須包含記憶元件。觸發(fā)器是構成時序邏輯電路的基礎。常用的時序邏輯電路有寄存器和計數(shù)器等。
(4)真值表、布爾代數(shù)、摩根定律、門電路的概念。
(5)NOR(或非)和NAND(與非)的門電路稱為全能門電路,可以實現(xiàn)任何一種邏輯函數(shù)。
(6)譯碼器:多輸入多輸出的組合邏輯網絡。
每輸入一個n位的二進制代碼,在m個輸出端中最多有一個有效。
當m=2n是,為全譯碼;當m<2n時,為部分譯碼。
(7)由于集成電路的高電平輸出電流小,而低電平輸出電流相對比較大,采用集成門電路直接驅動LED時,較多采用低電平驅動方式。液晶七段字符顯示器LCD利用液晶有外加電場和無外加電場時不同的光學特性來顯示字符。
(8)時鐘信號是時序邏輯的基礎,它用于決定邏輯單元中的狀態(tài)合適更新。同步是時鐘控制系統(tǒng)中的主要制約條件。
(9)在選用觸發(fā)器的時候,觸發(fā)方式是必須考慮的因素。觸發(fā)方式有兩種:
電平觸發(fā)方式:具有結構簡單的有點,常用來組成暫存器。
邊沿觸發(fā)方式:具有很強的抗數(shù)據(jù)端干擾能力,常用來組成寄存器、計數(shù)器等。
7、總線電路及信號驅動
(1)總線是各種信號線的集合,是嵌入式系統(tǒng)中各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。在同一時刻,每條通路線路上能夠傳輸一位二進制信號。按照總線所傳送的信息類型,可以分為:數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)。
(2)總線的主要參數(shù):
總線帶寬:一定時間內總線上可以傳送的數(shù)據(jù)量,一般用MByte/s表示。
總線寬度:總線能同時傳送的數(shù)據(jù)位數(shù)(bit),即人們常說的32位、64位等總線寬度的概念,也叫總線位寬。總線的位寬越寬,總線每秒數(shù)據(jù)傳輸率越大,也就是總線帶寬越寬。
總線頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則總線工作速度越快,也即總線帶寬越寬。
總線帶寬 = 總線位寬×總線頻率/8, 單位是MBps。
常用總線:ISA總線、PCI總線、IIC總線、SPI總線、PC104總線和CAN總線等。
(3)只有具有三態(tài)輸出的設備才能夠連接到數(shù)據(jù)總線上,常用的三態(tài)門為輸出緩沖器。
(4)當總線上所接的負載超過總線的負載能力時,必須在總線和負載之間加接緩沖器或驅動器,最常用的是三態(tài)緩沖器,其作用是驅動和隔離。
(5)采用總線復用技術可以實現(xiàn)數(shù)據(jù)總線和地址總線的共用。但會帶來兩個問題:
A、需要增加外部電路對總線信號進行復用解耦,例如:地址鎖存器。
B、總線速度相對非復用總線系統(tǒng)低。
(6)兩類總線通信協(xié)議:同步方式、異步方式。
(7)對總線仲裁問題的解決是以優(yōu)先級(優(yōu)先權)的概念為基礎。
8、電平轉換電路
(1)數(shù)字集成電路可以分為兩大類:雙極型集成電路(TTL)、金屬氧化物半導體(MOS)。
(2)CMOS電路由于其靜態(tài)功耗極低,工作速度較高,抗干擾能力較強,被廣泛使用。
(3)解決TTL與CMOS電路接口困難的辦法是在TTL電路輸出端與電源之間接一上拉電阻R,上拉電阻R的取值由TTL的高電平輸出漏電流IOH來決定,不同系列的TTL應選用不同的R值。
9、可編程邏輯器件基礎
這方面的內容,從總體上有個概念性的認識應該就可以了。
10、嵌入式系統(tǒng)中信息表示與運算基礎
(1)進位計數(shù)制與轉換:這樣比較簡單,也應該掌握怎么樣進行換算,有出題的可能。
(2)計算機中數(shù)的表示:源碼、反碼與補碼。
正數(shù)的反碼與源碼相同,負數(shù)的反碼為該數(shù)的源碼除符號位外按位取反。
正數(shù)的補碼與源碼相同,負數(shù)的補碼為該數(shù)的反碼加一。
例如-98的源碼:111****10B
反碼:10011101B
補碼:10011110B
(3)定點表示法:數(shù)的小數(shù)點的位置人為約定固定不變。
浮點表示法:數(shù)的小數(shù)點位置是浮動的,它由尾數(shù)部分和階數(shù)部分組成。
任意一個二進制N總可以寫成:N=2P×S。S為尾數(shù),P為階數(shù)。
(4)漢字表示法,搞清楚GB2318-80中國標碼和機內碼的變換。
(5)語音編碼中波形量化參數(shù)(可能會出簡單的計算題目哦)
采樣頻率:一秒內采樣的次數(shù),反映了采樣點之間的間隔大小。
人耳的聽覺上限是20kHz,因此40kHz以上的采樣頻率足以使人滿意。
CD唱片采用的采樣頻率是44.1kHz。
測量精度:樣本的量化等級,目前標準采樣量級有8位和16位兩種。
聲道數(shù):單聲道和立體聲雙道。立體聲需要兩倍的存儲空間。
11、差錯控制編碼
(1)根據(jù)碼組的功能,可以分為檢錯碼和糾錯碼兩類。檢錯碼是指能自動發(fā)現(xiàn)差錯的碼,例如奇偶檢驗碼;糾錯碼是指不僅能發(fā)現(xiàn)差錯而且能自動糾正差錯的碼,例如循環(huán)冗余校驗碼。
(2)奇偶檢驗碼、海明碼、循環(huán)冗余校驗碼(CRC)。
12、嵌入式系統(tǒng)的度量項目
(1)性能指標:分為部件性能指標和綜合性能指標,主要包括:吞吐率、實時性和各種利用率。
(2)可靠性與安全性
可靠性是嵌入式系統(tǒng)最重要、最突出的基本要求,是一個嵌入式系統(tǒng)能正常工作的保證,一般用平均故障間隔時間MTBF來度量。
(3)可維護性:一般用平均修復時間MTTR表示。
(4)可用性
(5)功耗
(6)環(huán)境適應性
(7)通用性
(8)安全性
(9)保密性
(10)可擴展性
性價比中的價格,除了直接購買嵌入式系統(tǒng)的價格外,還應包含安裝費用、若干年的運行維修費用和軟件租用費。
13、嵌入式系統(tǒng)的評價方法:測量法和模型法
(1)測量法是最直接最基本的方法,需要解決兩個問題:
A、根據(jù)研究的目的,確定要測量的系統(tǒng)參數(shù)。
B、選擇測量的工具和方式。
(2)測量的方式有兩種:采樣方式和事件跟蹤方式。
(3)模型法分為分析模型法和模擬模型法。分析模型法是用一些數(shù)學方程去刻畫系統(tǒng)的模型,而模擬模型法是用模擬程序的運行去動態(tài)表達嵌入式系統(tǒng)的狀態(tài),而進行系統(tǒng)統(tǒng)計分析,得出性能指標。
(4)分析模型法中使用最多的是排隊模型,它包括三個部分:輸入流、排隊規(guī)則和服務機構。
(5)使用模型對系統(tǒng)進行評價需要解決3個問題:設計模型、解模型、校準和證實模型。
接口技術
1. Flash存儲器
(1)Flash存儲器是一種非易失性存儲器,根據(jù)結構的不同可以將其分為NOR Flash和NAND Flash兩種。
(2)Flash存儲器的特點:
A、區(qū)塊結構:在物理上分成若干個區(qū)塊,區(qū)塊之間相互獨立。
B、先擦后寫:Flash的寫操作只能將數(shù)據(jù)位從1寫成0,不能從0寫成1,所以在對存儲器進行寫入之前必須先執(zhí)行擦除操作,將預寫入的數(shù)據(jù)位初始化為1。擦除操作的最小單位是一個區(qū)塊,而不是單個字節(jié)。
C、操作指令:執(zhí)行寫操作,它必須輸入一串特殊指令(NOR Flash)或者完成一段時序(NAND Flash)才能將數(shù)據(jù)寫入。
D、位反轉:由于Flash的固有特性,在讀寫過程中偶爾會產生一位或幾位的數(shù)據(jù)錯誤。位反轉無法避免,只能通過其他手段對結果進行事后處理。
E、壞塊:區(qū)塊一旦損壞,將無法進行修復。對已損壞的區(qū)塊操作其結果不可預測。
(3)NOR Flash的特點:
應用程序可以直接在閃存內運行,不需要再把代碼讀到系統(tǒng)RAM中運行。NOR Flash的傳輸效率很高,在1MB~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度**影響了它的性能。
(4)NAND Flash的特點
能夠提高極高的密度單元,可以達到高存儲密度,并且寫入和擦除的速度也很快,這也是為何所有的U盤都使用NAND Flash作為存儲介質的原因。應用NAND Flash的困難在于閃存需要特殊的系統(tǒng)接口。
(5)NOR Flash與NAND Flash的區(qū)別:
A、NOR Flash的讀速度比NAND Flash稍快一些。
B、NAND Flash的擦除和寫入速度比NOR Flash快很多
C、NAND Flash的隨機讀取能力差,適合大量數(shù)據(jù)的連續(xù)讀取。
D、NOR Flash帶有SRAM接口,有足夠的地址引進來尋址,可以很容易地存取其內部的每一個字節(jié)。NAND Flash的地址、數(shù)據(jù)和命令共用8位總線(有寫公司的產品使用16位),每次讀寫都要使用復雜的I/O接口串行地存取數(shù)據(jù)。
E、NOR Flash的容量一般較小,通常在1MB~8MB之間;NAND Flash只用在8MB以上的產品中。因此,NOR Flash只要應用在代碼存儲介質中,NAND Flash適用于資料存儲。
F、NAND Flash中每個塊的最大擦寫次數(shù)是一百萬次,而NOR Flash是十萬次。
G、NOR Flash可以像其他內存那樣連接,非常直接地使用,并可以在上面直接運行代碼;NAND Flash需要特殊的I/O接口,在使用的時候,必須先寫入驅動程序,才能繼續(xù)執(zhí)行其他操作。因為設計師絕不能向壞塊寫入,這就意味著在NAND Flash上自始至終必須進行虛擬映像。
H、NOR Flash用于對數(shù)據(jù)可靠性要求較高的代碼存儲、通信產品、網絡處理等領域,被成為代碼閃存;NAND Flash則用于對存儲容量要求較高的MP3、存儲卡、U盤等領域,被成為數(shù)據(jù)閃存。
2、RAM存儲器
(1)SRAM的特點:
SRAM表示靜態(tài)隨機存取存儲器,只要供電它就會保持一個值,它沒有刷新周期,由觸發(fā)器構成基本單元,集成度低,每個SRAM存儲單元由6個晶體管組成,因此其成本較高。它具有較高速率,常用于高速緩沖存儲器。
通常SRAM有4種引腳:
CE:片選信號,低電平有效。
R/W:讀寫控制信號。
ADDRESS:一組地址線。
DATA:用于數(shù)據(jù)傳輸?shù)囊唤M雙向信號線。
(2)DRAM的特點:
DRAM表示動態(tài)隨機存取存儲器。這是一種以電荷形式進行存儲的半導體存儲器。它的每個存儲單元由一個晶體管和一個電容器組成,數(shù)據(jù)存儲在電容器中。電容器會由于漏電而導致電荷丟失,因而DRAM器件是不穩(wěn)定的。它必須有規(guī)律地進行刷新,從而將數(shù)據(jù)保存在存儲器中。
DRAM的接口比較復雜,通常有一下引腳:
CE:片選信號,低電平有效。
R/W:讀寫控制信號。
RAS:行地址選通信號,通常接地址的高位部分。
CAS:列地址選通信號,通常接地址的低位部分。
ADDRESS:一組地址線。
DATA:用于數(shù)據(jù)傳輸?shù)囊唤M雙向信號線。
(3)SDRAM的特點:
SDRAM表示同步動態(tài)隨機存取存儲器。同步是指內存工作需要同步時鐘,內部的命令發(fā)送與數(shù)據(jù)的傳輸都以它為基準;動態(tài)是指存儲器陣列需要不斷的刷新來保證數(shù)據(jù)不丟失。它通常只能工作在133MHz的主頻。
(4)DDRAM的特點
DDRAM表示雙倍速率同步動態(tài)隨機存取存儲器,也稱DDR。DDRAM是基于SDRAM技術的,SDRAM在一個時鐘周期內只傳輸一次數(shù)據(jù),它是在時鐘的。
嵌入式操作系統(tǒng)的種類
一般情況下,嵌入式操作系統(tǒng)可以分為兩類,一類是面向控制、通信等領域的實時操作系統(tǒng),如 WindRiver 公司的 VxWorks 、 ISI 的 pSOS 、 QNX 系統(tǒng)軟件公司的 QNX 、 ATI 的 Nucleus 等;另一類是面向消費電子產品的非實時操作系統(tǒng),這類產品包括個人數(shù)字助理 (PDA) 、移動電話、機頂盒、電子書、 WebPhone 等。
a. 非實時操作系統(tǒng)
早期的嵌入式系統(tǒng)中沒有操作系統(tǒng)的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中段來處理事件,其結構一般為無限循環(huán);后臺程序則掌管整個嵌入式系統(tǒng)軟、硬件資源的分配、管理以及任務的調度,是一個系統(tǒng)管理調度程序。這就是通常所說的前后臺系統(tǒng)。一般情況下,后臺程序也叫任務級程序,前臺程序也叫事件處理級程序。在程序運行時,后臺程序檢查每個任務是否具備運行條件,通過一定的調度算法來完成相應的操作。對于實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發(fā)生,不再做任何工作就退出中斷,經過后臺程序的調度,轉由前臺程序完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響后續(xù)和其他中斷。
實際上,前后臺系統(tǒng)的實時性比預計的要差。這是因為前后臺系統(tǒng)認為所有的任務具有相同的優(yōu)先級別,即是平等的,而且任務的執(zhí)行又是通過 FIFO 隊列排隊,因而對那些實時性要求高的任務不可能立刻得到處理。另外,由于前臺程序是一個無限循環(huán)的結構,一旦在這個循環(huán)體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統(tǒng)的崩潰。由于這類系統(tǒng)結構簡單,幾乎不需要 RAM/ROM 的額外開銷,因而在簡單的嵌入式應用被廣泛使用。
b. 實時操作系統(tǒng)
實時系統(tǒng)是指能在確定的時間內執(zhí)行其功能并對外部的異步事件做出響應的計算機系統(tǒng)。其操作的正確性不僅依賴于邏輯設計的正確程度,而且與這些操作進行的時間有關!霸诖_定的時間內”是該定義的核心。也就是說,實時系統(tǒng)是對響應時間有嚴格要求的。
實時系統(tǒng)對邏輯和時序的要求非常嚴格,如果邏輯和時序出現(xiàn)偏差將會引起嚴重后果。實時系統(tǒng)有兩種類型:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)僅要求事件響應是實時的,并不要求限定某一任務必須在多長時間內完成;而在硬實時系統(tǒng)中,不僅要求任務響應要實時,而且要求在規(guī)定的時間內完成事件的處理。通常,大多數(shù)實時系統(tǒng)是兩者的結合。實時應用軟件的設計一般比非實時應用軟件的設計困難。實時系統(tǒng)的技術關鍵是如何保證系統(tǒng)的實時性。
實時多任務操作系統(tǒng)是指具有實時性、能支持實時控制系統(tǒng)工作的操作系統(tǒng)。其首要任務是調度一切可利用的資源完成實時控制任務,其次才著眼于提高計算機系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統(tǒng)具有如下功能:任務管理 ( 多任務和基于優(yōu)先級的任務調度 ) 、任務間同步和通信 ( 信號量和郵箱等 ) 、存儲器優(yōu)化管理 ( 含 ROM 的管理 ) 、實時時鐘服務、中斷管理服務。實時操作系統(tǒng)具有如下特點:規(guī)模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。
實時操作系統(tǒng)可分為可搶占型和不可搶占型兩類。對于基于優(yōu)先級的系統(tǒng)而言,可搶占型實時操作系統(tǒng)是指內核可以搶占正在運行任務的 CPU 使用權并將使用權交給進入就緒態(tài)的優(yōu)先級更高的任務,是內核搶了 CPU 讓別的任務運行。不可搶占型實時操作系統(tǒng)使用某種算法并決定讓某個任務運行后,就把 CPU 的控制權完全交給了該任務,直到它主動將 CPU 控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態(tài)的任務,使之進入就緒態(tài);而這個進入就緒態(tài)的任務還不能運行,一直要等到當前運行的任務主動交出 CPU 的控制權。使用這種實時操作系統(tǒng)的實時性比不使用實時操作系統(tǒng)的系統(tǒng)性能好,其實時性取決于最長任務的執(zhí)行時間。不可搶占型實時操作系統(tǒng)的缺點也恰恰是這一點,如果最長任務的執(zhí)行時間不能確定,系統(tǒng)的實時性就不能確定。
可搶占型實時操作系統(tǒng)的實時性好,優(yōu)先級高的任務只要具備了運行的條件,或者說進入了就緒態(tài),就可以立即運行。也就是說,除了優(yōu)先級最高的任務,其他任務在運行過程中都可能隨時被比它優(yōu)先級高的任務中斷,讓后者運行。通過這種方式的任務調度保證了系統(tǒng)的實時性,但是,如果任務之間搶占 CPU 控制權處理不好,會產生系統(tǒng)崩潰、死機等嚴重后果。
嵌入式操作系統(tǒng)的發(fā)展
嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展經歷了 4 個比較明顯的階段。
第一階段是無操作系統(tǒng)的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統(tǒng),同時具有與監(jiān)測、伺服、指示設備相配合的功能。這種系統(tǒng)大部分應用于一些專業(yè)性極強的工業(yè)控制系統(tǒng)中,一般沒有操作系統(tǒng)的支持,通過匯編語言編程對系統(tǒng)進行直接控制,運行結束后清除內存。這一階段系統(tǒng)的主要特點是:系統(tǒng)結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格很低,以前在國內工業(yè)領域應用較為普遍,但是已經遠遠不能適應高效的、需要大容量存儲介質的現(xiàn)代化工業(yè)控制和新興的信息家電等領域的需求。
第二階段是以嵌入式 CPU 為基礎、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點是: CPU 種類繁多,通用性比較差;系統(tǒng)開銷小, 效率高;一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴展性;應用軟件較專業(yè),用戶界面不夠友好;系統(tǒng)主要用來控制系統(tǒng)負載以及監(jiān)控應用程序運行。
第三階段是通用的嵌入式實時操作系統(tǒng)階段,是以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點是:嵌入式操作系統(tǒng)能運行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內核精小、效率高,并且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網絡支持、圖形窗口以及用戶界面等功能;具有大量的應用程序接口 (API) ,開發(fā)應用程序簡單;嵌入式應用軟件豐富。
第四階段是以基于 Internet 為標志的嵌入式系統(tǒng),這是一個正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于 Internet 之外,但隨著 Internet 的發(fā)展以及 Internet 技術與信息家電、工業(yè)控制技術等結合日益密切,嵌入式設備與 Internet 的結合將代表著嵌入式技術的真正未來。
使用實時操作系統(tǒng)的必要性
嵌入式實時操作系統(tǒng)在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統(tǒng)龐大的應用中顯得愈來愈重要。
首先,嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。在控制系統(tǒng)中,出于安全方面的考慮,要求系統(tǒng)起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設計方面提高系統(tǒng)的可靠性和抗干擾性,而且也應在軟件設計方面提高系統(tǒng)的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺系統(tǒng)軟件設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環(huán),造成了系統(tǒng)的崩潰。而實時操作系統(tǒng)管理的系統(tǒng),這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統(tǒng)運行的系統(tǒng)監(jiān)控進程對其進行修復。通常情況下,這個系統(tǒng)監(jiān)視進程用來監(jiān)視各進程運行狀況,遇到異常情況時采取一些利于系統(tǒng)穩(wěn)定可靠的措施,如把有問題的任務清除掉。從某種意義上說,沒有操作系統(tǒng)的計算機 ( 裸機 ) 是沒有用的。在嵌入式應用中,只有把 CPU 嵌入到系統(tǒng)中,同時又把操作系統(tǒng)嵌入進去,才是真正的計算機嵌入式應用。
實時操作系統(tǒng)的優(yōu)缺點
在嵌入式實時操作系統(tǒng)環(huán)境下開發(fā)實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統(tǒng)服務,嵌入式實時操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。
【嵌入式系統(tǒng)基礎知識】相關文章:
嵌入式系統(tǒng)的分類06-08
嵌入式系統(tǒng)組成08-29
嵌入式系統(tǒng)設計06-05
嵌入式系統(tǒng)特點06-06
嵌入式系統(tǒng)介紹06-06
嵌入式系統(tǒng)的名詞05-16
嵌入式Linux系統(tǒng)概述06-08