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