姓名:趙玉進(jìn)? ? 學(xué)號:19020100432? ? 學(xué)院:電子工程學(xué)院
轉(zhuǎn)自:https://blog.csdn.net/weixin_34397291/article/details/92250594
【嵌牛導(dǎo)讀】通過對嵌入式系統(tǒng)的底層硬件結(jié)構(gòu)進(jìn)行深入了解和研究,可以更好的設(shè)計嵌入式系統(tǒng)。
【嵌牛鼻子】嵌入式系統(tǒng) 系統(tǒng)架構(gòu)
【嵌牛提問】嵌入式系統(tǒng)的各層結(jié)構(gòu)是怎樣的枚赡?
【嵌牛正文】
嵌入式系統(tǒng)的核心計算系統(tǒng)可以抽象出一個典型的組成模型:硬件層绊袋、中間層、軟件層和功能層多艇。
1.硬件層
硬件層中包含嵌入式微處理器、存儲器(如 SDRAM、ROM醉者、 Flash等)、通用設(shè)備接口和I/O接口(如A/D披诗、D/A撬即、I/O等)。在一片嵌入式處理器基礎(chǔ)上添加電源電路呈队、時鐘電路和存儲器電路,就構(gòu)成了一個嵌入式核心控制模塊剥槐。其中,操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專門設(shè)計的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計時趨于小型化,同時還具有很高的效率和可靠性宪摧。
嵌入式系統(tǒng)的組成結(jié)構(gòu)
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口粒竖。據(jù)不完全統(tǒng)計,目前全世界嵌入式微處理器已經(jīng)超過1000多種,體系結(jié)構(gòu)有30多個系列,其中主流的體系有ARM、MIPS( Microprocessor without Interlocked Piped Stages,無互鎖流水級的微處理器)/Power PC几于、X86蕊苗、SH等。
(2)存儲器
嵌入式系統(tǒng)需要存儲器來存放可執(zhí)行代碼和數(shù)據(jù)孩革。嵌入式系統(tǒng)的存儲器包含Cache岁歉、內(nèi)存和外存。
① Cache: Cache是一種容量小膝蜈、速度快的存儲器陣列,它位于內(nèi)存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數(shù)據(jù)锅移。在嵌入式系統(tǒng)中,Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache和混合Cache, Cache的大小依不同處理器而定饱搏。
②內(nèi)存:位于微處理器的內(nèi)部,用來存放系統(tǒng)和用戶的程序及數(shù)據(jù)非剃。片內(nèi)存儲器容量小、速度快推沸。
③外存:外存用來存放大數(shù)據(jù)量的程序代碼或信息,它的容量大,但讀取速度與內(nèi)存相比慢很多,用來長期保存用戶的信息备绽。
嵌入式系統(tǒng)中常用的外存有硬盤券坞、NAND Flash、CF卡肺素、MMC恨锚、SD卡等。
(3)通用設(shè)備接口和I/O接口
嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如A/D倍靡、D/A猴伶、I/O等,外設(shè)通過和片外其他設(shè)備或傳感器的連接來實現(xiàn)微處理器的輸入/輸出功能。每個外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置芯片中塌西。外設(shè)的種類很多,可從一個簡單的串行通信設(shè)備到非常復(fù)雜的802.11無線設(shè)備他挎。
目前,嵌入式系統(tǒng)中常用的通用設(shè)備接口有A/D(模/數(shù)轉(zhuǎn)換接口)、D/A(數(shù)/模轉(zhuǎn)換接口),I/O接口有RS-232接口(串行通信接口)捡需、Ethernet(以太網(wǎng)接口)办桨、USB(通用串行總線接口)、音頻接口站辉、VGA視頻輸出接口呢撞、I2C(現(xiàn)場總線)、SPI(串行外圍設(shè)備接口)庵寞、IrDA(紅外線接口)等
2.中間層
硬件層與軟件層之間為中間層,也稱為硬件抽象層( Hardware Abstract Layer,HAL)或板級支持包( Board support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動程序與硬件無關(guān),上層軟件開發(fā)人員無須關(guān)心底層硬件的具體情況,根據(jù)BSP層提供的接口即可進(jìn)行開發(fā)狸相。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能捐川。
實際上,BSP是一個介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊脓鹃。設(shè)計一個完整的BSP需要完成兩部分工作:嵌入式系統(tǒng)的硬件初始化以及BSP功能,設(shè)計硬件相關(guān)的設(shè)備驅(qū)動。
3.軟件層
軟件層由嵌入式操作系統(tǒng)( Embedded Operation System,EOS)古沥、文件系統(tǒng)瘸右、圖形用戶接口( Graphic User Interface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成岩齿。EOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺太颤。以下先介紹前三種。
(1)嵌入式操作系統(tǒng)
不同功能的嵌入式系統(tǒng)的復(fù)雜程度有很大不同盹沈。簡單的嵌入式系統(tǒng)僅僅具有單一的功能,存儲器中的程序就是為了這一功能設(shè)計的,其系統(tǒng)處理核心也是單一任務(wù)處理器龄章。復(fù)雜的嵌入式系統(tǒng)不僅功能強大,往往還配有嵌入式操作系統(tǒng),如功能強大的智能手機等,幾乎具有與微型計算機一樣的功能。
嵌入式操作系統(tǒng)( Embedded Operation System,BOS)是一種用途廣泛的系統(tǒng)軟件,過去它主要應(yīng)用于工業(yè)控制和國防系統(tǒng)領(lǐng)域乞封。EOS負(fù)責(zé)嵌入系統(tǒng)的全部軟做裙、硬件資源的分配、任務(wù)調(diào)度,控制肃晚、協(xié)調(diào)并發(fā)活動锚贱。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。目前,已推出一些應(yīng)用比較成功的EOS產(chǎn)品系列关串。隨著 Internet技術(shù)的發(fā)展拧廊、信息家電的普及應(yīng)用及EOS的微型化和專業(yè)化,EOS開始從單一的弱功能向高專業(yè)化的強功能方向發(fā)展监徘。嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性吧碾、軟件固化凰盔、應(yīng)用的專用性等方面具有較為突出的特點。
(2)文件系統(tǒng)
嵌入式文件系統(tǒng)比較簡單,主要提供文件存儲滤港、檢索廊蜒、更新等功能,一般不提供保護趴拧、加密等安全機制溅漾。它以系統(tǒng)調(diào)用和命令方式提供文件的各種操作,主要有設(shè)置、修改對文件和目錄的存取權(quán)限,提供建立著榴、修改添履、改變和刪除目錄等服務(wù),提供創(chuàng)建、打開脑又、讀寫暮胧、關(guān)閉和撤銷文件等服務(wù)。
(3)圖形用戶接口
圖形用戶接口(GUI)的廣泛應(yīng)用是當(dāng)今計算機發(fā)展的重大成就之一,它極大地方便了非專業(yè)用戶的使用,人們從此不再需要死記硬背大量的命令,取而代之的是通過窗口问麸、菜單往衷、按鍵等方式來方便地進(jìn)行操作。而嵌入式GUI具有下面幾個方面的基本要求:輕型严卖、占用資源少席舍、高性能、高可靠性哮笆、便于移植来颤、可配置等特點。
4.功能層
功能層也稱為應(yīng)用軟件層,應(yīng)用軟件是由基于實時系統(tǒng)開發(fā)的應(yīng)用程序組成,運行在嵌入式操作系統(tǒng)之上稠肘,一般情況下與操作系統(tǒng)是分開的福铅。應(yīng)用軟件用來實現(xiàn)對被控制對象的控制功能。功能層是要面對被控對象和用戶项阴,為方便用戶操作滑黔,往往需要提供一個友好的人機界面。