第一章 嵌入式系統基礎
1.1嵌入式系統簡介
1.1.1嵌入式系統定義
- 嵌入式系統定義:
- 嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可剪裁,對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統 ------Any device that includes a computer!
1.1.2嵌入式系統的組成
-
嵌入式系統由硬件和軟件兩大部分組成
- 硬件:整個系統的物理基礎,它提供軟件運行平臺和通信接口;
- 軟件:實際控制系統的運行
-
兩種嵌入式系統結構模型:
-
應用程序(Application) 標準接口函數(API) 操作系統(OS) 硬件抽象層(HAL)、BSP、驅動 底層硬件 -
應用(Application) 設備驅動程序 底層硬件
-
一、硬件部分
-
組成:
-
核心處理器:
-
硬件層的核心
-
體系結構:采用馮諾伊曼體系結構和哈佛體系結構
- 馮諾伊曼體系結構:將程序指令存儲器和數據存儲器合并在一起的存儲器結構(eg.ARM7)
- 單次取指令長度和取數據的長度相同
-
哈佛體系結構:將程序指令存儲和數據存儲分開的存儲器結構(eg.ARM9的內核)
- 指令和數據有不同的數據寬度
- 分離的程序總線和數據總線可允許在一個機器周期內同時獲得指令字和操作數,從而提高執行速度,也提高了數據吞吐率
- 馮諾伊曼體系結構:將程序指令存儲器和數據存儲器合并在一起的存儲器結構(eg.ARM7)
-
指令系統:RISC和CISC
-
CISC(Complex Instruction Set Computer)
- 具有大量的指令和尋址方式
- 大多數程序只使用少量的指令就能運行
-
RISC(Reduced Instruction Set Computer)
- 8/2原則:80%的程序只使用20%的指令。
- 只包含最有用的指令。
- 確保數據通道快速執行每一條指令。
- 使CPU硬件結構設計變得更為簡單。
-
二者的主要區別
-
指標 RISC CISC 指令集 一個周期執行一條指令,通過簡單指令的組合實現復雜操作,指令長度固定。 指令長度不固定,執行需要多個周期。 流水線 流水線每周期前進一步 指令的執行需要調用一段微程序 寄存器 更多通用寄存器 用于特定目的的專用寄存器 Load/Store結構 獨立的Load/Store指令完成數據在寄存器 和 外部存儲器 之間的傳輸 處理器能夠直接處理存儲器中的數據 -
RISC執行特殊功能效率低,但可以利用流水技術和超標量技術加以改進和彌補。
-
CISC處理特殊任務效率較高
-
-
-
-
外圍電路
- 組成:存儲器、I/O端口、復位電路、模數轉換器/數模轉換器(ADC/DAC)、電源
-
外部設備
- 嵌入式系統與真實環境交互的各種設備
-
二、軟件部分
- 組成:嵌入式操作系統和嵌入式應用軟件
- 嵌入式系統軟件一般包含四個層面:應用程序、應用程序接口API、實時操作系統RTOS、硬件抽象層(HAL)。有的版本將應用程序接口 API 歸屬于 OS 層,就是按照三層來劃分的。
1.1.3 嵌入式系統的特點
-
嵌入式系統同通用計算機系統相比有以下特點:
- 專用性強
- 強調實時性
- 具備可裁剪性
- 可靠性要求高
- 功耗低
- 嵌入式系統開發需要開發工具和開發環境
-
嵌入式微處理器的特點
- 對實時多任務有很強的支持能力。
- 具有功能很強的存儲區保護功能–不同進程之間無法互相訪問其存儲空間
- 可擴展的處理器結構。
- 嵌入式微處理器功耗低。
1.1.4嵌入式系統的分類
- 處理器位數
- 4位嵌入式系統
- 8位嵌入式系統
- 16位嵌入式系統
- 32位嵌入式系統
- 64位嵌入式系統
- 實時性:
- 非實時系統(PDA)
- 軟實時系統(電子消費類產品)
- 硬實時系統(數控、航空航天等工業和軍工系統)
- 軟件結構:(important)
- 循環輪詢系統
- 前后臺系統
- 單處理器多任務系統
- 多處理器多任務系統
- 應用場景:
- 通信類
- 信息家電類
- 移動終端類
- 汽車電子類
- 工業控制類
- …
1.2嵌入式處理器
1.2.1嵌入式處理器分類
-
嵌入式微處理器(MPU–Microprocessor Unit)
- 嵌入式微處理器是由通用計算機中的CPU演變而來的。 -----用來處理高性能計算(eg.服務器,手機等)
- 嵌入式微處理器的特征:
- 具有較高的性能,但價格也較高。
- 嵌入式微處理器做的控制機具有體積小、重量輕、成本低、可靠性高的優點。
-
嵌入式微控制器(MCU–Microcontroller Unit)
- 嵌入式微控制器的典型代表就是單片機。
- MCU是一種集成化的芯片,將處理器核心、**存儲器(如Flash、RAM)和外圍設備(如GPIO、ADC、UART等)**集成在一個芯片上。-----(eg.家電、工業控制、傳感器節點等)
- 占嵌入式系統70%的市場份額
-
嵌入式DSP處理器(DSP–Digital Signal Processor)
- DSP 處理器是專門用于信號處理方面的處理器。
- 其在系統的結構和指令算法方面進行了特殊的設計。
-
SOC片上系統(System on a Chip)
- 一個芯片就是一個系統,或將一個系統放在一個芯片中。
- SOC最大特點是實現了軟/硬件的無縫結合,直接在處理器芯片內部嵌入操作系統代碼模塊。
1.3嵌入式系統開發環境
- 開發工具的選擇:硬件開發工具&軟件開發工具
- 硬件開發工具:在線實時仿真器和其他檢測工具,如示波器等
- 軟件開發工具:編輯、交叉編譯、鏈接、定位軟件和調試軟件等
- 硬件調試工具的選擇:
- 實時在線仿真器(ICE)
- 邏輯分析儀
- ROM仿真器
- 軟件組件的選擇
- 開發環境:
- 交叉開發工具
- 指令模擬器
- 電路開發板
1.4 嵌入式操作系統
1.4.1嵌入式操作系統
- 嵌入式操作系統EOS(Embedded Operating System)是支持嵌入式系統應用的操作系統,是軟、硬件資源的控制中心。
- EOS 是相對于一般操作系統而言的,它除具備了一般操作系統最基本的功能如:
- 任務調度、同步機制、中斷處理、文件功能等外,
- 還有以下特點:
- 可裝卸性;
- 強實時性;
- 強穩定性,弱交互性;
- 固化代碼;
- 更好的硬件適應性,也就是良好的移植性。
- 嵌入式操作系統可分為:實時操作系統(RTOS)和非實時操作系統
1.4.2 實時操作系統
- 實時操作系統是指——能在確定的時間內執行其功能并對外部的異步事件做出響應的計算機系統。其操作的正確性不僅依賴于邏輯設計的正確程度,而且與這些操作進行的時間有關。
一、RTOS的重要概念
- 系統響應時間
- 系統收到處理要求到系統給出應答信號的時間。
- 任務換道時間
- 任務之間切換使用的時間
- 中斷延遲
- 計算機接收到中斷信號到操作系統作出響應,并完成換道轉入中斷服務程序的時間。
- 任務(即線程)的四個狀態
- 運行:獲得 CPU 的控制權
- 就緒:進入任務就緒(等待)隊列,等待通過調度轉為運行狀態
- 掛起:任務發生阻塞,移出任務就緒隊列,等待系統實時事件的發生而喚醒,從而轉為就緒或運行
- 冬眠:任務因為完成或錯誤等原因被清除的任務,也可以認為是系統中不存在的任務
二、實時操作系統的分類
- 按實時性要求
- 軟實時系統
- 硬實時系統
- 按任務是否可被搶占
- 可搶占系統–嚴格按照優先級執行(如:uC/OS-II)
- 不可搶占系統
1.4.3常見的EOS(了解)
在復習的時候可以看看ppt
- Linux
- uCLinux
- Android
- Windows CE
- VxWorks
- uC/OS-II
- pSOSystem
- Nucleus、eCos