第19小時嵌入式系統設計
【導讀小貼士】
隨著計算機技術、微電子技術、通信技術以及集成電路技術的發展,嵌入式技術逐漸發展和成熟起來。嵌入式系統的應用日益廣泛,并在數量上遠遠超越了通用計算機系統,成為計算機技術和計算機應用領域的一個重要組成部分。
19.1
嵌人式系統基礎
19.11基礎概念
【基礎知識點】
1.嵌入式系統:一種以應用為中心、以計算機技術為基礎,可以適應不同應用對功能、可靠性、成本、體積、功耗等方面的要求,集可配置,可裁減的軟、硬件于一體的專用計算機系統。它具有很強的靈活性,主要由嵌入式硬件平臺、相關支撐硬件、嵌入式操作系統組成。嵌入性、專用
性與計算機系統是嵌入式系統的三個基本核心要素。
2.嵌入式系統特點:①專用性強:②實時性強;③軟、硬件依賴性強:④處理器專用:⑤多種技術緊密結合:⑥系統透明性;⑦系統資源受限。
19.12系統基本結構
【基礎知識點】
嵌入式系統的組成結構如圖19-2所示。
系統組成
硬件1.處理器2.存儲器3.外部設備
軟件1.系統軟件2.應用支撐軟件3.應用軟件
系統軟件和應用支撐軟件是基礎。
應用軟件是最能體現整個嵌入式系統的特點和功能的部分。
微處理器是整個嵌入式系統的核心,負責控制系統的執行。
外部設備是嵌入式系統與外界交互的通道。
嵌入式系統中經常使用的存儲器有三種類型:RAM、ROM(Read-Only Memory,只讀內存)和混合存儲器。
系統的存儲器用于存放系統的程序代碼、數據和系統運行的結果。
19.13嵌人式操作系統
19.1.4嵌人式數據庫管理
【基礎知識點】
1.嵌入式數據庫也稱為移動數據庫或嵌入式移動數據庫,其作用主要是解決移動計算環境下數據的管理問題。移動數據庫是移動計算環境中的分布式數據庫。
2.嵌入式數據庫使用環境的特點。
(1)設備隨時移動性。(2)網絡頻繁斷接。(3)網絡條件多樣化。(4)通信能力不對稱。
19.1.5嵌人式網路
1.現場總線是一種低帶寬的底層控制網經,位于生產控制和網絡結構的底層,因此也被稱為底層網(Infranet),主要應用于生產現場。
2.采用雙絞線、電力線或光纖等作為總線,把多個測量控制儀表連接成網絡。
3.短程無線網主要包括IEEE802.ll、藍牙、IrDA及HomeRF等。無線Internet或移動Internet主要采用兩種無線連接技術:一種是移動無線接入技術,如GSM、GPRS、CDPD(Cellular Digital Packet Data)等;另一種是固定無線接入技術,如微波、擴頻通信、衛星及無線光傳輸等。
19.2嵌人式系統設計
19.2.1開發模型與設流程
【基礎知識點】
1.嵌入式系統設計常用模型有四種。
(1)瀑布模型。瀑布模型由五個主要階段構成。
1)需求分析階段:確定目標系統的基本特點。
2)系統結構設計階段:將系統的功能分解為主要的構架。
3)編碼階段:主要進行程序的編寫和調試。
4)測試階段:檢測錯誤。
5)維護階段:主要負責修改代碼以適應環境的變化,并改正錯誤、升級。各個階段的工作和信息總是由高級的抽象到較詳細的設計步驟單向流動,是一個理想的自頂向下的設計模型。
(2)螺旋模型。
(3)逐步求精模型。逐步求精模型是一個系統被建立多次,第一個系統被作為原型,其后逐個將系統進一步求精。
(4)層次模型。
2.開發過程:項目計劃、可行性分析、需求分析、概要設計、詳細設計、程序建立、下載、調試、固化、測試及運行等幾個階段。
3,在嵌入式開發領域主要有三種核心技術:處理器技術、IC技術、設計/驗證技術。
19.2.2嵌人式系統開發環境與設計模型
【基礎知識點】
嵌入式系統的開發環境種類很多,大體可以把它們分為如下幾類:
(l)與嵌入式操作系統配套的開發環境:如PalmOS、THOS、VxWorks、.Windows CE等商業嵌入式操作系統都有與其配套的功能齊全的開發環境。
(2)與處理器芯片配套的開發環境。這類開發環境一般由處理器廠商提供。
(3)與具體應用平臺配套的開發環境。這類開發環境針對性較強,如高通公司的Brew SDK等。
(4)其他類的開發環境。這類開發環境主要指一些嵌入式系統供應商在GNU開源工具的基礎上開發或定制的較為通用的開發環境。這類工具可以免費獲得,而且支持的處理器類型繁多、功能齊全,但在技術支持方面比專業化商業工具略遜一些。
19.3練習題
1.以下關于嵌入式系統開發的敘述,正確的是()。
A,宿主機與目標機之問只需要建立邏輯連接
B.宿主機與日標機之間只能采用串口通信方式
C.在宿主機上必須采用交叉編譯器來生成日標機的可執行代碼
D.調試器與被調試程序必須安裝在同一臺機器上
解析:在嵌入式系統開發中,由于嵌入式設備不具備足夠的處理器能力和存儲空間,程序開發
般用PC(宿主機)來完成,然后將可執行文件下載到嵌入式系統(目標機)中運行。
當宿主機與目標機的機器指令不同時,就需要交叉工具鏈(指編譯、匯編、鏈接等一整套工具)。
答案:C
2.以下關于嵌入式系統硬件抽象層的敘述,錯誤的是()。
A.硬件抽象層與硬件密切相關,可對操作系統隱藏硬件的多樣性
B,硬件抽象層將操作系統與硬件平臺隔開
C.硬件抽象層使軟硬件的設計與調試可以并行
D,硬件抽象層應包括設備驅動程序和任務調度
解析:硬件抽象層是位于操作系統內核與硬件電路之間的接口層,其作用在于將硬件抽象化。它隱藏了特定平臺的硬件接口細節,為操作系統提供虛擬硬件平臺,使其具有硬件無關性,可在多種平臺上進行移植。
答案:D
3.()不是反映嵌入式實時操作系統實時性的評價指標。
A.任務執行時間
B.中斷響應和延遲時間
C.任務切換時間
D.信號量混洗時間
解析:一個嵌入式實時操作系統(BTOS)的評價要從很多角度進行,如體系結構、API的豐富程度、網絡支持、可靠性等。其中,實時性是RTOS評價的最重要的指標之一,實時性的優劣是用戶選擇操作系統的一個重要參考。嚴格地說,影響嵌入式操作系統實時性的因素有很多,如常用系統調用平均運行時間、任務切換時間、線程切換時間、信號量混洗時間(指從一個任務釋放信號量到另一個等待該信號量的任務被激活的時間延遲)、中斷響應時間等。任務執行時間不是反映RTOS實時性的評價指標。
答案:A
4.在嵌入式系統設計中,用來進行CPU調試的常用接口是()。
A.PCI接口B.USB接口C.網絡接口D,JTAG接口
解析:本題考查嵌入式系統應用基礎知識。
PCI是一種局部總線標準,它是在CPU與原來的系統總線之間插入的一級總線,具體由一個
橋接電路實現對這一層的管理,并實現上下之間的接口以協調數據的傳送。JTAG是一個調試接口,用來供開發人員調試CPU的工作狀態。JTAG軟件通過該接口控制CPU來調試CPU及讀寫Flash。
答案:D
5.看門狗(Watch Dog)是嵌入式系統中一種常用的保證系統可靠性的技術,()會導致看門狗中斷。
A,軟件喂狗
B.處理器溫度過高
C.外部中斷
D.看門狗定時器超時高
解析:看門狗是一個獨立的定時器電路,有一個定時器控制寄存器,可以設定時間(開狗),到達時間后要置位(喂狗)。如果沒有,就認為是程序跑飛,會發出RESET指令。當系統工作正常時,CPU將每隔一定時間輸出一個脈沖給看門狗,即“喂狗”,若程序運行出現問題或硬件出現
故障時而無法按時“喂狗”,看門狗電路將迫使系統自動復位而重新運行程序。
答案:D
6.以下關于實時操作系統(TOS)任務調度器的敘述中,正確的是()。
A,任務之間的公平性是最重要的調度目標
B.大多數RTOS調度算法都是搶占方式(可剝奪方式)
C.RTOS調度器都采用了基于時間片輪轉的調度算法
D.大多數RTOS調度算法只采用一種靜態優先級調度算法
解析:任務是RTOS中最重要的操作對象,每個任務在RTOS的調度下由CPU分時執行。任務的調度目前主要有時間分片式、輪流查詢式和優先搶占式三種,不同的TOS可能支持其中一種或幾種,其中優先搶占式對實時性的支持最好。在非實時系統中,調度的主要目的是縮短系統平均響應時間、提高系統資源的利用率或優化某一項指標:而實時系統中調度的目的則是要盡可能地保證滿足每個任務的時間約束,及時對外部請求作出響應。
答案:B