嵌入式系統(tǒng)基礎(chǔ)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ù)測性,、可靠性、與外部環(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)度性不好嵌入式信盈達(dá)企鵝要妖氣嗚嗚吧久零就要,。 (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位)
8 w$ T, T2 R( t* P+ P+ qB,、字長決定了微處理器的尋址能力,即虛擬地址空間的大小,。7 n7 b$ ~* W u; T4 j8 w7 h: I
C,、32位微處理器的虛擬地址空間位232,即4GB,。/ s2 H3 l5 _) o/ n' F4 F( `) J
D,、小端字節(jié)順序:低字節(jié)在內(nèi)存低地址處,高字節(jié)在內(nèi)存高地址處,。; m7 i5 Y" p% c6 @; ]
E,、大端字節(jié)順序:高字節(jié)在內(nèi)存低地址處,低字節(jié)在內(nèi)存高地址處,。
# l' i8 |6 M/ OF,、網(wǎng)絡(luò)設(shè)備的存儲(chǔ)順序問題取決于OSI模型底層中的數(shù)據(jù)鏈路層。 8 p* Y3 i" R% t0 ^0 }0 x1 D; J9 r$ u+ z
|