|
|
一個嵌入式係統裝置一般都由嵌入式計算機係統和執行裝置組成,嵌入式計算機係統是整個嵌入式係統的核心,由硬件層、中間層、係統軟件層和應用軟件層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機係統發出的控製命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控製電機和多種傳感器,從而可以執行各種復雜的動作和感受各種狀態信息。
下面對嵌入式計算機係統的組成進行介紹。
1)硬件層
硬件層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鐘電路和存儲器電路,就構成了一個嵌入式核心控製模塊。其中操作係統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式係統硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的係統中,它將通用CPU許多由板卡完成的任務集成在芯片內部,從而有利於嵌入式係統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體係結構可以采用馮·諾依曼體係或哈佛體係結構;指令係統可以選用精簡指令係統(Reduced Instruction Set Computer,RISC)和復雜指令係統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中衹包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬件結構設計變得更為簡單。
嵌入式微處理器有各種不同的體係,即使在同一體係中也可能具有不同的時鐘頻率和數據總綫寬度,或集成了不同的外設和接口。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體係結構有30多個係列,其中主流的體係有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的産品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而决定的。
(2)存儲器
嵌入式係統需要存儲器來存放和執行代碼。嵌入式係統的存儲器包含Cache、主存和輔助存儲器,其存儲結構如圖1-2所 示。
1>Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了係統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式係統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器纔會把Cache集成進去。
2>主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放係統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑藉其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3>輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式係統中常用的外存有:硬盤、NAND Flash、CF卡、MMC和SD卡等。
(3)通用設備接口和I/O接口
嵌入式係統和外界交互需要一定形式的通用設備接口,如A/D、D/A、I/O等,外設通過和片外其他設備的或傳感器的連接來實現微處理器的輸入/輸出功能。每個外設通常都衹有單一的功能,它可以在芯片外也可以內置芯片中。外設的種類很多,可從一個簡單的串行通信設備到非常復雜的802.11無綫設備。
目前嵌入式係統中常用的通用設備接口有A/D(模/數轉換接口)、D/A(數/模轉換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網接口)、USB(通用串行總綫接口)、音頻接口、VGA視頻輸出接口、I2C(現場總綫)、SPI(串行外圍設備接口)和IrDA(紅外綫接口)等。
2)中間層
硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將係統上層軟件與底層硬件分離開來,使係統的底層驅動程序與硬件無關,上層軟件開發人員無需關心底層硬件的具體情況,根據BSP 層提供的接口即可進行開發。該層一般包含相關底層硬件的初始化、數據的輸入/輸出操作和硬件設備的配置功能。BSP具有以下兩個特點。
硬件相關性:因為嵌入式實時係統的硬件環境具有應用相關性,而作為上層軟 件與硬件平臺之間的接口,BSP需要為操作係統提供操作和控製具體硬件的方法。
操作係統相關性:不同的操作係統具有各自的軟件層次結構,因此,不同的操作係統具有特定的硬件接口形式。
實際上,BSP是一個介於操作係統和底層硬件之間的軟件層次,包括了係統中大部分與硬件聯繫緊密的軟件模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式係統的硬件初始化以及BSP功能,設計硬件相關的設備驅動。
(1)嵌入式係統硬件初始化
係統初始化過程可以分為3個主要環節,按照自底嚮上、從硬件到軟件的次序依次為:片級初始化、板級初始化和係統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控製寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部總綫模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成係統所要求的工作狀態。這是一個純硬件的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬件設備的初始化。另外,還需設置某些軟件的數據結構和參數,為隨後的係統級初始化和應用程序的運行建立硬件和軟件環境。這是一個同時包含軟硬件兩部分在內的初始化過程。
係統初始化
該初始化過程以軟件初始化為主,主要進行操作係統的初始化。BSP將對嵌入式微處理器的控製權轉交給嵌入式操作係統,由操作係統完成餘下的初始化操作,包含加載和初始化與硬件無關的設備驅動程序,建立係統內存區,加載並初始化其他係統軟件模塊,如網絡係統、文件係統等。最後,操作係統創建應用程序環境,並將控製權交給應用程序的入口。
(2)硬件相關的設備驅動程序
BSP的另一個主要功能是硬件相關的設備驅動。硬件相關的設備驅動程序的初始化通常是一個從高到低的過程。儘管BSP中包含硬件相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在係統初始化過程中由BSP將他們與操作係統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬件設備的操作。與硬件相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
3)係統軟件層
係統軟件層由實時多任務操作係統(Real-time Operation System,RTOS)、文件係統、圖形用戶接口(Graphic User Interface,GUI)、網絡係統及通用組件模塊組成。RTOS是嵌入式應用軟件的基礎和開發平臺。
(1)嵌入式操作係統
嵌入式操作係統(Embedded Operation System,EOS)是一種用途廣泛的係統軟件,過去它主要應用與工業控製和國防係統領域。EOS負責嵌入係統的全部軟、硬件資源的分配、任務調度,控製、協調並發活動。它必須體現其所在係統的特徵,能夠通過裝卸某些模塊來達到係統所要求的功能。目前,已推出一些應用比較成功的EOS産品係列。隨着Internet技術的發展、信息傢電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能嚮高專業化的強功能方向發展。嵌入式操作係統在係統實時高效性、硬件的相關依賴性、軟件固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作係統而言的,它除具有了一般操作係統最基本的功能,如任務調度、同步機製、中斷處理、文件處理等外,還有以下 |
|
1)可裁剪性。支持開放性和可伸縮性的體係結構。
2)強實時性。EOS實時性一般較強,可用於各種設備控製中。
3)統一的接口。提供設備統一的驅動接口。
4)操作方便、簡單、提供友好的圖形GUI和圖形界面,追求易學易用。
提供強大的網絡功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。
5)強穩定性,弱交互性。嵌入式係統一旦開始運行就不需要用戶過多的幹預、這就要負責係統管理的EOS具有較強的穩定性。嵌入式操作係統的用戶接口一般不提供操作命令,它通過係統的調用命令嚮用戶程序提供服務。
6)固化代碼。在嵌入式係統中,嵌入式操作係統和應用軟件被固化在嵌入式係統計算機的ROM中。
7)更好的硬件適應性,也就是良好的移植性。 |
|
通用操作係統的文件係統通常具有以下功能:
提供用戶對文件操作的命令。
提供用戶共享文件的機製。
管理文件的存儲介質。
提供文件的存取控製機製,保障文件及文件係統的安全性。
提供文件及文件係統的備份和恢復功能。
提供對文件的加密和解密功能。
嵌入式文件係統比較簡單,主要提供文件存儲、檢索和更新等功能,一般不提供保護和加密等安全機製。它以係統調用和命令方式提供文件的各種操作,主要有:
設置、修改對文件和目錄的存取權限。
提供建立、修改、改變和刪除目錄等服務。
提供創建、打開、讀寫、關閉和撤銷文件等服務。 |
|
1)兼容性。嵌入式文件係統通常支持幾種標準的文件係統,如FAT32、JFFS2、YAFFS等。
2)實時文件係統。除支持標準的文件係統外,為提高實時性,有些嵌入式文件係統還支持自定義的實時文件係統,這些文件係統一般采用連續的方式存儲文件。
3)可裁剪、可配置。根據嵌入式係統的要求選擇所需的文件係統,選擇所需的存儲介質,配置可同時打開的最大文件數等。
4)支持多種存儲設備。嵌入式係統的外存形式多樣了,嵌入式文件係統需方便的挂接不同存儲設備的驅動程序,具有靈活的設備管理能力。同時根據不同外部存儲器的特點,嵌入式文件係統還需要考慮其性能、壽命等因素,發揮不同外存的優勢,提高存儲設備的可靠性和使用壽命。 |
|
GUI的廣泛應用是當今計算機發展的重大成就之一,他極大地方便了非專業用戶的使用人們從此不再需要死記硬背大量的命令,取而代之的是可用用通過窗口、菜單、按鍵等方式來方便地進行操作。而嵌入式GUI具有下面幾個方面的基本要求:輕型、占用資源少、高性能、高可靠性、便於移植、可配置等特點。
嵌入式係統中的圖形界面,一般采用下面的幾種方法實現:
針對特定的圖形設備輸出接口,自行開發相關的功能函數。
購買針對特定嵌入式係統的圖形中間軟件包。
采用源碼開放的嵌入式GUI係統。
使用獨立軟件開發商提供的嵌入式GUI産品。
4)應用軟件層
應用軟件層是由基於實時係統開發的應用程序組成,用來實現對被控對象的控製功能。功能層是要面對被控對象和用戶,為方面用戶操作,往往需要提供一個友好的人機界面。
對於一些復雜的係統,在係統設計的初期階段就要對係統的需求進行分析,確定係統的功能,然後將係統的功能映射到整個係統的硬件、軟件和執行裝置的設計過程中,稱為係統的功能實現。 |
|
- : embedded chips
|
|
互聯網 | 編程 | 動漫 | RISC | IT | 操作係統 | 音樂 | 樂隊 | 古典 | 搖滾 | 計算機 | arm | 嵌入式操作係統 | 自動控製 | 單片機 | 數字電路 | 質點網格法 | 更多結果... |
|
|
嵌入式門 | 嵌入式殺毒 | 嵌入式文件 | 嵌入式測試 | 嵌入式原理 | 嵌入式公社 | 嵌入式營銷 | 六維嵌入式 | 嵌入式學院 | 嵌入式主板 | 嵌入式空調 | 嵌入式廣告 | 嵌入式期權 | 嵌入式設備 | 嵌入式采訪 | 嵌入式詞彙 | 嵌入式係統 | 嵌入式編程 | 嵌入式軟件 | 嵌入式開發 | 嵌入式電源 | 嵌入式技術 | 嵌入式培訓 | 嵌入式移植 | 嵌入式設計 | 嵌入式研發 | 嵌入式大使 | 嵌入式電器 | 嵌入式應用 | 動態嵌入式 | 嵌入式燈具 | 嵌入式電腦 | 工業嵌入式 | 嵌入式照明 | 嵌入式儀表 | 嵌入式插座 | 嵌入式電極 | 嵌入式語言 | 嵌入式工程師 | 嵌入式單片機 | 嵌入式電子秤 | 嵌入式排隊機 | 嵌入式開發板 | 嵌入式錄像機 | 嵌入式點歌機 | 嵌入式互聯網 | 非嵌入式芯片 | 嵌入式技術網 | 嵌入式控製器 | 嵌入式計算機 | 嵌入式處理器 | 計算機嵌入式 | 嵌入式服務器 | 嵌入式電烤箱 | 嵌入式微波爐 | 嵌入式一體機 | 嵌入式數據庫 | 嵌入式冷卻壁 | 嵌入式係統設計 | 嵌入式實時係統 | 嵌入式門磁開關 | 嵌入式係統基礎 | 嵌入式軟件開發 | 微軟嵌入式係統 | 嵌入式係統技術 | 嵌入式係統原理 | 嵌入式控製係統 | 嵌入式係統工程 | 嵌入式媒體處理 | 嵌入式衍生工具 | 嵌入式工控電腦 | 嵌入式流處理器 | 嵌入式操作係統 | 嵌入式微處理器 | 嵌入式硬件設計 | 嵌入式網絡終端 | 嵌入式平板電腦 | 遊戲嵌入式廣告 | 嵌入式係統開發 | 嵌入式手機開發 | 嵌入式智能平臺 | 嵌入式軟件測試 | 嵌入式係統入門 | 嵌入式係統教程 | 嵌入式解决方案 | 嵌入式開發工具 | 嵌入式培訓南京 | 南京嵌入式培訓 | 嵌入式工控主板 | 嵌入式基礎教程 | 北京嵌入式培訓 | 嵌入式開發培訓 | 嵌入式編程入門 | 嵌入式高級編程 | 嵌入式編程比賽 | 嵌入式培訓學校 | 構建嵌入式係統 | 嵌入式程序設計 | 嵌入式應用編程 | 專業嵌入式教育 | 權威嵌入式教育 | 嵌入式微控製器 | 動態嵌入式木馬 | 嵌入式解釋程序 | 嵌入式永久型芯 | 嵌入式應用與開發 | 科士德嵌入式學院 | 嵌入式軟件工程師 | 嵌入式實時數據庫 | 嵌入式郵件服務器 | 嵌入式硬盤錄像機 | 嵌入式係統設計師 | 嵌入式開發(英文版) | 原理與嵌入式應用 | 工業嵌入式錄像機 | 取是否嵌入式附件 | 嵌入式通信處理器 | 嵌入式的磨刃裝置 | 嵌入式軟件與係統 | 嵌入式SOC | arm嵌入式開發板 | 嵌入式係統實驗教程 | 海同嵌入式培訓中心 | 嵌入式多功能智能綫路板 | 嵌入式係統設計師考試 | 嵌入式係統原理與開發 | WindowsCE6.0嵌入式高級編程 | 嵌入式係統TCPIP應用層協議 | 嵌入式係統硬件與軟件架構 | 嵌入式Linux案例開發指南 | 嵌入式LINUX開發(英文版) | 嵌入式硬件設計(第二版) | 嵌入式軟件調試技術 | 基於FPGA的嵌入式係統設計 | FPGA嵌入式係統設計 | 嵌入式係統設計與實例開發 | ARM嵌入式係統入門 | 80C51嵌入式係統教程 | ARM嵌入式係統基礎教程 | ARM9嵌入式係統開發與實踐 | 嵌入式係統中的雙核技術 | 嵌入式網絡係統設計 | 嵌入式係統設計與實踐 | ARM&Linux嵌入式係統教程 | 嵌入式係統設計的藝術 | ARM嵌入式係統基礎與實踐 | 嵌入式圖形係統設計 | 嵌入式係統設計師案例導學 | 嵌入式基礎實踐教程 | 基於ARM的嵌入式係統開發 | 嵌入式數字硬盤錄像機 | Qt4圖形設計與嵌入式開發 | WindowsCE嵌入式開發標準教程 | ARM嵌入式 | 構建嵌入式LINUX係統 | 嵌入式係統基礎及應用 | Linux嵌入式設計 | 上海易嵌嵌入式培訓中心 | 嵌入式係統設計師考試大綱 | ARM嵌入式係統開發與實踐 | Intel嵌入式 | ARM嵌入式應用技術基礎 | 中國嵌入式係統産業聯盟 | ARM-Linux嵌入式係統開發基礎 | 嵌入式LinuxC編程入門 | UML嵌入式設計 | ARM嵌入式接口技術應用 | 嵌入式Linux基礎教程 | 嵌入式係統技術與設計 | 鎮江易嵌嵌入式培訓分中心 | PIC嵌入式係統開發 | 嵌入式Linux係統設計與開發 | 嵌入式係統軟件測試 | 嵌入式係統設計與開發 | ARM9嵌入式係統設計 | 嵌入式Linux開發 | 嵌入式係統原理及接口技術 | 嵌入式係統原理與應用 | ARM嵌入式係統教程 | 嵌入式係統硬件體係設計 | ARM原理與嵌入式係統實戰 | 嵌入式Linux應用編程 | 嵌入式操作係統原理與應用 | 嵌入式計算係統設計原理 | 嵌入式係統編程(影印版) | 自己動手寫嵌入式操作係統 | 嵌入式係統開發工程師 | ARM嵌入式程序設計 | 嵌入式係統測試工程師 | 嵌入式硬件技術基礎 | 嵌入式軟件開發工程師 | 嵌入式硬件開發工程師 | 嵌入式操作係統設計與實現 | ARM嵌入式係統設計及實踐 | J2ME嵌入式開發案例精解 | 基於ARM嵌入式係統接口技術 | 32位ARM嵌入式係統開發技術 | 單片機與嵌入式實驗教程 | 計算機組成與嵌入式係統 | 嵌入式操作係統及編程 | | 更多結果... |
|