第2章嵌入式系統(tǒng)基本知識_第1頁
第2章嵌入式系統(tǒng)基本知識_第2頁
第2章嵌入式系統(tǒng)基本知識_第3頁
第2章嵌入式系統(tǒng)基本知識_第4頁
第2章嵌入式系統(tǒng)基本知識_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1嵌入式系統(tǒng)原理與設計嵌入式系統(tǒng)原理與設計第二講第二講 嵌入式系統(tǒng)的基礎知識嵌入式系統(tǒng)的基礎知識2本章提要本章提要嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)軟件基礎嵌入式系統(tǒng)軟件基礎3嵌入式系統(tǒng)組成嵌入式系統(tǒng)組成機械裝置機械裝置嵌入式嵌入式微處理微處理器器SDRAMROMI/OA/DD/A人機交互接口人機交互接口通用接口通用接口實時操作系統(tǒng)實時操作系統(tǒng)( ( RTOSRTOS ) )圖形用戶圖形用戶接口接口BSPBSP / / HAL HAL (板極支持包板極支持包/ /硬件抽象層硬件抽象層)任務管理任務管理文件系統(tǒng)文

2、件系統(tǒng)應用程序應用程序嵌入式計算機系統(tǒng)嵌入式計算機系統(tǒng)傳感器傳感器 1傳感器傳感器 2傳感器傳感器 N.驅(qū)動器驅(qū)動器 1驅(qū)動器驅(qū)動器 2驅(qū)動器驅(qū)動器 N.硬件層硬件層軟件層軟件層中間層中間層功能層功能層被控對象被控對象42.1 嵌入式系統(tǒng)的總體結構嵌入式系統(tǒng)的總體結構l目前所提及的嵌入式系統(tǒng)一般指嵌入式計算機系統(tǒng),目前所提及的嵌入式系統(tǒng)一般指嵌入式計算機系統(tǒng),主要包括:硬件層、中間層、系統(tǒng)軟件層和應用層主要包括:硬件層、中間層、系統(tǒng)軟件層和應用層4個部分。個部分。l嵌入式硬件主要包括提供嵌入式計算機正常運行的最嵌入式硬件主要包括提供嵌入式計算機正常運行的最小系統(tǒng)(如電源、系統(tǒng)時鐘、復位電路、存

3、儲器等)小系統(tǒng)(如電源、系統(tǒng)時鐘、復位電路、存儲器等)、通用、通用I/O口和一些外設及其它設備。嵌入式系統(tǒng)中口和一些外設及其它設備。嵌入式系統(tǒng)中間層又稱嵌入式硬件抽象層,如硬件驅(qū)動程序、系統(tǒng)間層又稱嵌入式硬件抽象層,如硬件驅(qū)動程序、系統(tǒng)啟動軟件等;嵌入式系統(tǒng)軟件層為應用層提供系統(tǒng)服啟動軟件等;嵌入式系統(tǒng)軟件層為應用層提供系統(tǒng)服務,如操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口等;而應務,如操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口等;而應用層主要是用戶應用程序。用層主要是用戶應用程序。 52.1.1 硬件層硬件層 嵌入式系統(tǒng)硬件通常指除被控對象之外的嵌入式嵌入式系統(tǒng)硬件通常指除被控對象之外的嵌入式系統(tǒng)要完成其功能所

4、具備的各種設備,由嵌入式處理系統(tǒng)要完成其功能所具備的各種設備,由嵌入式處理器、存儲器系統(tǒng)、通用設備接口(器、存儲器系統(tǒng)、通用設備接口(A/D、D/A、I/O等等)和一些擴展外設組成。)和一些擴展外設組成。l 嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的l嵌入式系統(tǒng)外設是指為了實現(xiàn)系統(tǒng)功能而設計或提供的嵌入式系統(tǒng)外設是指為了實現(xiàn)系統(tǒng)功能而設計或提供的接口或設備接口或設備 62.1 嵌入式系統(tǒng)的總體結構嵌入式系統(tǒng)的總體結構2.1.2 中間層中間層 介于硬件層與系統(tǒng)軟件層之間,將硬件的細節(jié)進行屏蔽,介于硬件層與系統(tǒng)軟件層之間,將硬件的細節(jié)進行屏蔽,便于操作系統(tǒng)

5、調(diào)用,因此稱為為中間層,也稱硬件抽象層(便于操作系統(tǒng)調(diào)用,因此稱為為中間層,也稱硬件抽象層(Hardware Abstract Layer,HAL)或板級支持包()或板級支持包(Board Support Package)。具有硬件相關性和操作系統(tǒng)相關性特)。具有硬件相關性和操作系統(tǒng)相關性特點。點。7主要包括系統(tǒng)初始化和設備驅(qū)動程序主要包括系統(tǒng)初始化和設備驅(qū)動程序l系統(tǒng)初始化系統(tǒng)初始化(1)片級初始化:主要完成)片級初始化:主要完成CPU的初始化,包括設置的初始化,包括設置CPU的核的核心寄存器和控制寄存器,心寄存器和控制寄存器,CPU核心工作模式以及核心工作模式以及CPU的局部總的局部總線模

6、式等。線模式等。(2)板級初始化:完成)板級初始化:完成CPU以外的其它硬件設備的初始化。除以外的其它硬件設備的初始化。除此之外,還要設置某些軟件的數(shù)據(jù)結構和參數(shù),為隨后的系統(tǒng)此之外,還要設置某些軟件的數(shù)據(jù)結構和參數(shù),為隨后的系統(tǒng)級初始化和應用程序的運行建立硬件和軟件環(huán)境。級初始化和應用程序的運行建立硬件和軟件環(huán)境。(3)系統(tǒng)級初始化:這是一個以軟件初始化為主的過程,主要)系統(tǒng)級初始化:這是一個以軟件初始化為主的過程,主要是進行操作系統(tǒng)初始化。是進行操作系統(tǒng)初始化。8l硬件相關的設備驅(qū)動程序硬件相關的設備驅(qū)動程序 與初始化過程相反,硬件相關的設備驅(qū)動程序的初始與初始化過程相反,硬件相關的設備驅(qū)

7、動程序的初始化和使用通常是一個從高層到底層的過程?;褪褂猛ǔJ且粋€從高層到底層的過程。 BSP不直接使用設備驅(qū)動程序通常不直接使用設備驅(qū)動程序通常 與操作系統(tǒng)中通用的設備驅(qū)動程序關聯(lián)起來,在應用與操作系統(tǒng)中通用的設備驅(qū)動程序關聯(lián)起來,在應用中由通用的設備驅(qū)動程序調(diào)用,實現(xiàn)對硬件設備的操作中由通用的設備驅(qū)動程序調(diào)用,實現(xiàn)對硬件設備的操作92.1.3 系統(tǒng)軟件層系統(tǒng)軟件層 系統(tǒng)軟件由操作系統(tǒng)(系統(tǒng)軟件由操作系統(tǒng)(OS)、文件系統(tǒng)()、文件系統(tǒng)(FS)、圖)、圖形用戶接口(形用戶接口(GUI)、網(wǎng)絡系統(tǒng)()、網(wǎng)絡系統(tǒng)(NM)及通用組件)及通用組件模塊(如模塊(如TCP/IP協(xié)議包)等組成。協(xié)議包)

8、等組成。1RTOS是嵌入式應用軟件的基礎和開發(fā)平臺是嵌入式應用軟件的基礎和開發(fā)平臺2FS是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結構;即在磁盤上組織文件的方法。和數(shù)據(jù)結構;即在磁盤上組織文件的方法。3GUI 是是 Graphical User Interface 的簡稱,即圖形的簡稱,即圖形用戶接口,準確來說用戶接口,準確來說 GUI 就是屏幕產(chǎn)品的視覺體驗和就是屏幕產(chǎn)品的視覺體驗和互動操作部分?;硬僮鞑糠帧?TCP/IP協(xié)議包簡稱協(xié)議包簡稱Ip Pack,IP Pack是是TCP/IP網(wǎng)絡網(wǎng)絡協(xié)議軟件,通常作為操作系統(tǒng)的一個重要組成部分。協(xié)

9、議軟件,通常作為操作系統(tǒng)的一個重要組成部分。102.1.4 功能層功能層 功能層又基于系統(tǒng)軟件開發(fā)的應用軟件程序組成,功能層又基于系統(tǒng)軟件開發(fā)的應用軟件程序組成,用來完成對被控對象的控制功能。直接與最終用戶交用來完成對被控對象的控制功能。直接與最終用戶交互,決定整個產(chǎn)品的成敗,是嵌入式軟件的核心部分互,決定整個產(chǎn)品的成敗,是嵌入式軟件的核心部分,根據(jù)用戶需求定做的。,根據(jù)用戶需求定做的。11本章提要本章提要嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)軟件基礎嵌入式系統(tǒng)軟件基礎12主要從處理器和存儲器進行介紹主要從處理器和

10、存儲器進行介紹l馮馮諾依曼體系結構和哈佛體系結構諾依曼體系結構和哈佛體系結構lCISCCISC與與RISCRISCl影響影響CPUCPU性能的因素性能的因素l存儲器系統(tǒng)存儲器系統(tǒng)2.2 嵌入式系統(tǒng)硬件基礎知識嵌入式系統(tǒng)硬件基礎知識13典型嵌入式系統(tǒng)基本組成硬件典型嵌入式系統(tǒng)基本組成硬件MPUMPU微處理器微處理器電源電源模塊模塊時鐘時鐘復位復位FlashFlashRAMRAMROMROMUSBUSBLCDLCDKeyboardKeyboard外圍電路外圍電路OtherOther外設外設141. 微處理器結構微處理器結構 處理器處理器控制單元控制單元指令寄存器指令寄存器IR程序計數(shù)器程序計數(shù)器P

11、C控制器控制器 存儲器存儲器I/O控制控制/狀態(tài)狀態(tài)程序存儲器程序存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R1數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0Rn。典型的微處理器由控制單元、程序計數(shù)器(典型的微處理器由控制單元、程序計數(shù)器(PC)、)、指令寄存器(指令寄存器(IR)、數(shù)據(jù)通道、存儲器等組成)、數(shù)據(jù)通道、存儲器等組成 15指令執(zhí)行過程一般分為:指令執(zhí)行過程一般分為:l取指取指從存儲器中獲得下一條執(zhí)行的指令讀入指令寄存器從存儲器中獲得下一條執(zhí)行的指令讀入指令寄存器PC: 程序計數(shù)器程序計數(shù)器, 總是指向下一條將要執(zhí)行的指令總是指向下

12、一條將要執(zhí)行的指令IR: 指令寄存器,用于保持已取得指令指令寄存器,用于保持已取得指令l譯碼譯碼 解釋指令,決定指令的執(zhí)行意義解釋指令,決定指令的執(zhí)行意義l執(zhí)行執(zhí)行從存儲器向數(shù)據(jù)通道寄存器移動數(shù)據(jù)從存儲器向數(shù)據(jù)通道寄存器移動數(shù)據(jù)通過算術邏輯單元通過算術邏輯單元ALU進行數(shù)據(jù)操作進行數(shù)據(jù)操作l存儲存儲 從寄存器向存儲器寫數(shù)據(jù)從寄存器向存儲器寫數(shù)據(jù)2. 處理器指令執(zhí)行過程處理器指令執(zhí)行過程16(1)取指)取指l處理器從程序存儲器中取出指令處理器從程序存儲器中取出指令 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲器存儲器I/O控制控制/狀態(tài)狀態(tài)load R

13、0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R117(2)譯碼)譯碼l解釋指令,決定指令的執(zhí)行意義解釋指令,決定指令的執(zhí)行意義 存儲器存儲器 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R118執(zhí)行執(zhí)行l(wèi)從存儲器向數(shù)據(jù)通道寄存器移動數(shù)據(jù)從存儲器向數(shù)據(jù)通道寄存器移

14、動數(shù)據(jù) 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲器存儲器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R119存儲存儲l將指令執(zhí)行結構保存到存儲器中將指令執(zhí)行結構保存到存儲器中 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲器存儲器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501

15、數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R120l在一些微處理器上,如在一些微處理器上,如ARM系列處理器、系列處理器、DSP等,等,指令實現(xiàn)流水線作業(yè),指令過程按流水線的數(shù)目來指令實現(xiàn)流水線作業(yè),指令過程按流水線的數(shù)目來進行劃分。如進行劃分。如5級流水線的處理器將指令分級流水線的處理器將指令分5個階段個階段執(zhí)行。執(zhí)行。 213.3.微處理器的結構體系微處理器的結構體系 指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸輸入入輸輸出出中央處理器中央處理器存儲器存儲器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1

16、數(shù)據(jù)數(shù)據(jù)2 2地址地址/數(shù)據(jù)數(shù)據(jù)馮馮諾依曼體系結構模型諾依曼體系結構模型(1)按存儲結構分:馮)按存儲結構分:馮諾依曼體系結構和哈佛體系結構諾依曼體系結構和哈佛體系結構 馮馮諾伊曼結構也稱普諾伊曼結構也稱普林斯頓結構,是一種將程林斯頓結構,是一種將程序指令存儲器和數(shù)據(jù)存儲序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器結器合并在一起的存儲器結構。處理器,經(jīng)由同一個構。處理器,經(jīng)由同一個總線傳輸來訪問程序和數(shù)總線傳輸來訪問程序和數(shù)據(jù)存儲器,程序指令和數(shù)據(jù)存儲器,程序指令和數(shù)據(jù)的寬度相同。據(jù)的寬度相同。 如如C51C51、X86X86系列、系列、ARM7ARM7等等 223.3.微處理器的結構體系微處理

17、器的結構體系指令寄指令寄存器存器控制器控制器數(shù)據(jù)數(shù)據(jù)通道通道輸輸入入輸輸出出中央處中央處理器理器程序存程序存儲器儲器指令指令0指令指令1指令指令2數(shù)據(jù)存儲數(shù)據(jù)存儲器器數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2地地址址指指令令地地址址數(shù)數(shù)據(jù)據(jù)哈佛體系結構哈佛體系結構 哈佛結構是一種將程哈佛結構是一種將程序指令存儲和數(shù)據(jù)存儲分序指令存儲和數(shù)據(jù)存儲分開的存儲器結構,目的是開的存儲器結構,目的是為了減輕程序運行時的訪為了減輕程序運行時的訪存瓶頸。哈佛結構的微處存瓶頸。哈佛結構的微處理器通常具有較高的執(zhí)行理器通常具有較高的執(zhí)行效率。效率。 如如ARM9ARM9、TITI的的DSPDSP等等 233.3.微處理器的結

18、構體系微處理器的結構體系按指令類型可分為:復雜指令集(按指令類型可分為:復雜指令集(CISC)處理器和精簡)處理器和精簡指令集(指令集(RISC)處理器)處理器 CISCCISC:復雜指令集(:復雜指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)l具有大量的指令和尋址方式,那么就需要更多的解釋器。具有大量的指令和尋址方式,那么就需要更多的解釋器。l8/28/2原則:原則:80%80%的程序只使用的程序只使用20%20%的指令的指令l大多數(shù)程序只使用少量的指令就能夠運行。大多數(shù)程序只使用少量的指令就能夠運行

19、。CISCCISC具有如下顯著特點:具有如下顯著特點:(1)(1) 指令格式不固定,指令長度不一致,操作數(shù)可多可少;指令格式不固定,指令長度不一致,操作數(shù)可多可少;(2)(2) 尋址方式復雜多樣,以利于程序的編寫;尋址方式復雜多樣,以利于程序的編寫;(3)(3) 采用微程序結構,執(zhí)行每條指令均需完成一個微指令序列;采用微程序結構,執(zhí)行每條指令均需完成一個微指令序列;(4)(4) 每條指令需要若干個機器周期才能完成,指令越復雜,花費每條指令需要若干個機器周期才能完成,指令越復雜,花費的機器周期越多的機器周期越多。24lRISC:精簡指令集(:精簡指令集(Reduced Instruction S

20、et Computer)l指令數(shù)目少,在通道中只包含最有用的指令指令數(shù)目少,在通道中只包含最有用的指令l執(zhí)行時間短,確保數(shù)據(jù)通道快速執(zhí)行每一條指令執(zhí)行時間短,確保數(shù)據(jù)通道快速執(zhí)行每一條指令l使使CPU硬件結構設計變得更為簡單硬件結構設計變得更為簡單l每條指令都采用標準字長每條指令都采用標準字長25CISC與與RISC的區(qū)別的區(qū)別 l從硬件角度來看從硬件角度來看CISC處理的是不等長指令集,它必處理的是不等長指令集,它必須對不等長指令進行分割,因此在執(zhí)行單一指令的時須對不等長指令進行分割,因此在執(zhí)行單一指令的時候需要進行較多的處理工作。而候需要進行較多的處理工作。而RISC執(zhí)行的是等長執(zhí)行的是等

21、長精簡指令集,精簡指令集,CPU在執(zhí)行指令的時候速度較快且性能在執(zhí)行指令的時候速度較快且性能穩(wěn)定。穩(wěn)定。 l從軟件角度來看,大型操作系統(tǒng)較適合運行在支持從軟件角度來看,大型操作系統(tǒng)較適合運行在支持CISC的處理器上。是我們所熟識的的處理器上。是我們所熟識的DOS、Windows操作系統(tǒng)。而實時操作系統(tǒng)大多運行在支持操作系統(tǒng)。而實時操作系統(tǒng)大多運行在支持RISC的的處理器上。處理器上。 264 提高提高CPU性能的方法性能的方法 影響影響CPU性能的因素:流水線、超標量、緩存和總性能的因素:流水線、超標量、緩存和總線。對于任何處理器來說,要提高其效率,在設計上線。對于任何處理器來說,要提高其效率

22、,在設計上都是要減少數(shù)據(jù)的等待時間,并且努力減少處理單元都是要減少數(shù)據(jù)的等待時間,并且努力減少處理單元的空閑時間。的空閑時間。27(1 1)流水線技術)流水線技術流水線技術:也就是將一個任務分解成為多個連續(xù)的流水線技術:也就是將一個任務分解成為多個連續(xù)的子任務,在處理前一個子任務的同時就開始準備下一子任務,在處理前一個子任務的同時就開始準備下一個子任務的數(shù)據(jù)并進行子處理器單元的初始化。個子任務的數(shù)據(jù)并進行子處理器單元的初始化。譯碼譯碼取指取指執(zhí)行執(zhí)行addadd譯碼譯碼取指取指執(zhí)行執(zhí)行subsub譯碼譯碼取指取指執(zhí)行執(zhí)行cmpcmp時間時間AddAddSubSubCmpCmp28(2) 超標量

23、執(zhí)行超標量執(zhí)行超標量執(zhí)行:超標量執(zhí)行:就是在處理器內(nèi)部設置多個平行的處理就是在處理器內(nèi)部設置多個平行的處理單元,將多個相互無關的任務在這些處理部件中分別單元,將多個相互無關的任務在這些處理部件中分別進行獨立處理。進行獨立處理。執(zhí)行執(zhí)行1預取預取指令指令CACHE譯碼譯碼2譯碼譯碼1執(zhí)行執(zhí)行2執(zhí)行執(zhí)行1預取預取譯碼譯碼2譯碼譯碼1執(zhí)行執(zhí)行2流水流水線線1流水流水線線2數(shù)據(jù)數(shù)據(jù)29(3) 高速緩存(高速緩存(CACHE)1 1、為什么采用高速緩存、為什么采用高速緩存 微處理器的時鐘頻率比內(nèi)存速度提高快得多,高微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。速緩存可以提高內(nèi)存

24、的平均性能。2 2、高速緩存的工作原理、高速緩存的工作原理 高速緩存是一種小型、快速的存儲器,它保存部高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。分主存內(nèi)容的拷貝。 CPU高高速速緩緩存存控控制制器器CACHE主存主存數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)地址地址30l通常用靜態(tài)通常用靜態(tài)RAMRAM來設計來設計l因此,速度快但比較貴因此,速度快但比較貴l通常和處理器同在一個芯片上通常和處理器同在一個芯片上l高速緩存的操作方式高速緩存的操作方式: :l要求對主存儲器進行訪問要求對主存儲器進行訪問 ( (讀或?qū)懽x或?qū)? )l首先,檢查高速緩存是否有相應的拷貝首先,檢查高速緩存是否有相應的拷貝l如果有,

25、稱為高速緩存命中如果有,稱為高速緩存命中拷貝在緩存中,可拷貝在緩存中,可以快速訪問以快速訪問l如果沒有,稱為高速緩存失誤如果沒有,稱為高速緩存失誤拷貝沒在緩存中拷貝沒在緩存中,需要將該地址及其相鄰的多個地址的數(shù)據(jù)讀入高,需要將該地址及其相鄰的多個地址的數(shù)據(jù)讀入高速緩存速緩存31(4) 高速總線和總線橋高速總線和總線橋CPU低速設備低速設備橋橋數(shù)據(jù)數(shù)據(jù)高速總線高速總線存儲器存儲器高速設備高速設備低速設備低速設備低速總線低速總線325. 處理器信息存儲的字節(jié)順序處理器信息存儲的字節(jié)順序處理器信息存儲的字節(jié)順序主要分為大端存儲法和處理器信息存儲的字節(jié)順序主要分為大端存儲法和小端存儲法小端存儲法 l大

26、端模式大端模式u字數(shù)據(jù)的高位字節(jié)存儲在低地址中字數(shù)據(jù)的高位字節(jié)存儲在低地址中u字數(shù)據(jù)的低字節(jié)則存放在高地址中字數(shù)據(jù)的低字節(jié)則存放在高地址中l(wèi)小端模式小端模式u低地址中存放字數(shù)據(jù)的低字節(jié)低地址中存放字數(shù)據(jù)的低字節(jié)u高地址中存放字數(shù)據(jù)的高字節(jié)高地址中存放字數(shù)據(jù)的高字節(jié)3124 2316 158 70 字地址字地址89101184567401230 低地址低地址 高地址高地址3124 2316 158 70字地址字地址11109887654432100 低地址低地址 高地址高地址332.2.2 存儲器系統(tǒng)存儲器系統(tǒng)1存儲器的分類存儲器的分類l按存儲介質(zhì)分類按存儲介質(zhì)分類半導體存儲器、磁表面存儲器、光

27、表面存儲器半導體存儲器、磁表面存儲器、光表面存儲器l按存儲器的讀寫功能分類按存儲器的讀寫功能分類只讀存儲器(只讀存儲器(ROM)、隨機存儲器)、隨機存儲器(RAM)l按在微機系統(tǒng)中的作用分類按在微機系統(tǒng)中的作用分類主存儲器、輔助存儲器、高速緩沖存儲器主存儲器、輔助存儲器、高速緩沖存儲器34CPU內(nèi)部寄存器內(nèi)部寄存器高速緩存高速緩存片外高速存儲器片外高速存儲器(SRAM、SDRAM、DRAM)主存儲器主存儲器(FLASH、EEPROM、硬磁盤)、硬磁盤)外部存儲器外部存儲器(磁盤、光盤、磁盤、光盤、CF卡、卡、SD卡卡)遠程二級存儲器遠程二級存儲器(分布式文件系統(tǒng)、分布式文件系統(tǒng)、WEB服務器服

28、務器)2. 存儲器系統(tǒng)的層次結構存儲器系統(tǒng)的層次結構35為了解決為了解決CPU與主存儲器速度差所采取的措施有:與主存儲器速度差所采取的措施有:(1)CPU內(nèi)部設置多個通用寄存器內(nèi)部設置多個通用寄存器(2)采用多存儲模塊交叉存?。┎捎枚啻鎯δK交叉存?。?)采用高速緩沖存儲器()采用高速緩沖存儲器(Cache)36半導體存儲器半導體存儲器 半導體存儲器主要包括隨機存儲器半導體存儲器主要包括隨機存儲器RAM和只讀存和只讀存儲器兩類儲器兩類ROM37RAMRAM:隨機存取存儲器,:隨機存取存儲器, SRAMSRAM:靜態(tài)隨機存儲器,:靜態(tài)隨機存儲器, DRAMDRAM:動態(tài)隨機存儲器:動態(tài)隨機存儲器

29、 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗電多耗電多 3 3)DRAMDRAM存儲密度比存儲密度比SRAMSRAM高得多高得多 4 4)DRAMDRAM需要周期性刷新需要周期性刷新ROMROM:只讀存儲器:只讀存儲器FLASHFLASH:閃存:閃存38(1 1)隨機存儲器)隨機存儲器RAMRAMl靜態(tài)靜態(tài)RAMRAMSRAM: Static RAMSRAM: Static RAMl存儲單元用觸發(fā)器來存儲數(shù)據(jù)位存儲單元用觸發(fā)器來存儲數(shù)據(jù)位l要求要求6 6個晶體管個晶體管l需要電源保持數(shù)據(jù)需要電源保持數(shù)據(jù)l動態(tài)動態(tài)RAMRAMDRAM: Dy

30、namic RAMDRAM: Dynamic RAMl存儲單元用存儲單元用MOSMOS晶體管來存儲數(shù)據(jù)晶體管來存儲數(shù)據(jù)位比位比SRAMSRAM更緊湊更緊湊l由于電容的泄漏,需要更新來保由于電容的泄漏,需要更新來保持數(shù)據(jù)持數(shù)據(jù)l典型的刷新頻率是典型的刷新頻率是15.625 us.15.625 us.l比比SRAMSRAM訪問更慢訪問更慢存儲器內(nèi)部結構存儲器內(nèi)部結構DataWDataSRAM刷刷 新新放放 大大 器器數(shù)數(shù) 據(jù)據(jù) 輸輸 入入 /輸輸 入入 線線C行行 選選 擇擇 信信 號號列列 選選 擇擇 信信 號號T 39(2 2)只讀存儲器)只讀存儲器ROMROMEPROM: EPROM: 可擦

31、除的可編程可擦除的可編程ROMROM 可編程部分是一個可編程部分是一個MOSMOS晶體管晶體管l晶體管有一個絕緣體包圍的晶體管有一個絕緣體包圍的“浮柵浮柵”l(a)(a)負電荷在源極和漏極之間負電荷在源極和漏極之間形成一個隧道形成一個隧道l(b) (b) 較大的正電壓在柵極使負較大的正電壓在柵極使負電荷移出隧道進入柵極形成邏電荷移出隧道進入柵極形成邏輯輯0 0l(c) (c) 擦除擦除紫外線在柵極表紫外線在柵極表面的照射使負電荷從柵極回到面的照射使負電荷從柵極回到隧道保持邏輯隧道保持邏輯1 1l(d) EPROM(d) EPROM有一個有一個紫外線紫外線可以可以通過的石英窗通過的石英窗(d)(

32、a)(b)源極源極漏極漏極+15V 源極源極 漏極漏極0V(c)源極源極漏極漏極浮柵浮柵5-30 min40EEPROM:EEPROM:電擦除的可編程電擦除的可編程ROMROMl電可編程和擦除電可編程和擦除(Programmed and erased (Programmed and erased electronically)electronically)l使用電壓比正常的高使用電壓比正常的高l能單個字進行擦除和編程能單個字進行擦除和編程l較好的寫入能力較好的寫入能力(Better write ability)(Better write ability)l通過內(nèi)部電路提供較高電壓能在系統(tǒng)內(nèi)編程

33、通過內(nèi)部電路提供較高電壓能在系統(tǒng)內(nèi)編程l由于寫入需經(jīng)過擦除和編程兩個步驟,因此寫入較慢由于寫入需經(jīng)過擦除和編程兩個步驟,因此寫入較慢l可重復擦除和編程數(shù)萬次可重復擦除和編程數(shù)萬次l存儲永久性和存儲永久性和EPROMEPROM相近相近( (大約大約1010年年) )l比比EPROMEPROM方便得多,但更貴方便得多,但更貴41快閃存儲器快閃存儲器(Flash Memory)(Flash Memory)lEEPROM的擴展的擴展l同樣利用浮柵原理同樣利用浮柵原理l具有和具有和EEPROM的寫入能力和保存永久性的寫入能力和保存永久性l擦除更快擦除更快l每次可以擦除存儲器一塊區(qū)域,但每次可以擦除存儲器

34、一塊區(qū)域,但EEPROM每次只能擦除每次只能擦除一個字一個字l每個塊通常幾千個字節(jié)每個塊通常幾千個字節(jié)l進行單字寫入時可能更慢進行單字寫入時可能更慢l必須先進行整塊讀取后,對需修改的字修改更新后再整塊必須先進行整塊讀取后,對需修改的字修改更新后再整塊寫入寫入l用在需要大量存儲數(shù)據(jù)在非易失性存儲器的嵌入式系用在需要大量存儲數(shù)據(jù)在非易失性存儲器的嵌入式系統(tǒng)統(tǒng)l如數(shù)碼相機,機頂盒,移動電話等如數(shù)碼相機,機頂盒,移動電話等l兩種主要的兩種主要的Flash Memory技術是技術是NOR和和NAND結構結構422.2.3 處理器輸入輸出接口處理器輸入輸出接口 輸入輸出接口又稱輸入輸出接口又稱I/O接口,

35、它是主機與外圍設接口,它是主機與外圍設備之間交互信息的連接口,它在主機和外圍設備備之間交互信息的連接口,它在主機和外圍設備之間的信息交換中起著橋梁和紐帶作用。之間的信息交換中起著橋梁和紐帶作用。1I/O接口與接口與CPU交換的信息類型交換的信息類型 輸入輸出通道與輸入輸出通道與CPU交換的信息類型有三種:交換的信息類型有三種:(1)數(shù)據(jù)信息:反映生產(chǎn)現(xiàn)場的參數(shù)及狀態(tài)的信息,)數(shù)據(jù)信息:反映生產(chǎn)現(xiàn)場的參數(shù)及狀態(tài)的信息,它包括數(shù)字量、開關量和模擬量。它包括數(shù)字量、開關量和模擬量。(2)狀態(tài)信息:又叫做應答信息、握手信息,它反)狀態(tài)信息:又叫做應答信息、握手信息,它反映過程通道的狀態(tài),如準備就緒信號

36、等。映過程通道的狀態(tài),如準備就緒信號等。(3)控制信息:用來控制過程通道的啟動和停止等)控制信息:用來控制過程通道的啟動和停止等信息,如三態(tài)門的打開和關閉、觸發(fā)器的啟動信息,如三態(tài)門的打開和關閉、觸發(fā)器的啟動等。等。432I/O的編址方式的編址方式 由于計算機系統(tǒng)一般都有多個過程輸入輸出通道,因此需由于計算機系統(tǒng)一般都有多個過程輸入輸出通道,因此需對每一個輸入輸出通道安排地址。對每一個輸入輸出通道安排地址。I/O口編址方式有兩種:口編址方式有兩種:(1)I/O與存儲器統(tǒng)一編址方式與存儲器統(tǒng)一編址方式 這種編址方式又稱存儲器映像方式,它從存貯器空間劃出這種編址方式又稱存儲器映像方式,它從存貯器空

37、間劃出一部分地址空間給過程通道,把過程通道的端口當作存貯單元一部分地址空間給過程通道,把過程通道的端口當作存貯單元一樣進行訪問,對一樣進行訪問,對I/O端口進行輸入輸出操作跟對存儲單元進端口進行輸入輸出操作跟對存儲單元進行讀寫操作方式相同,只是地址不同。行讀寫操作方式相同,只是地址不同。(2)I/O與存儲器獨立編址方式與存儲器獨立編址方式 這種編址方式將過程通道的端口地址單獨編址,有自己獨這種編址方式將過程通道的端口地址單獨編址,有自己獨立的過程通道地址空間,而不占用存儲器地址空間。立的過程通道地址空間,而不占用存儲器地址空間。44例如例如USBUSBlUSBUSB:Universal Ser

38、ial BusUniversal Serial Bus,通用串行總線,通用串行總線l大家生活中常見的與大家生活中常見的與USBUSB有關的東西有:有關的東西有:uU U盤、移動硬盤、無驅(qū)型的盤、移動硬盤、無驅(qū)型的MP3MP3(U U盤)盤)uUSBUSB接口的鍵盤、接口的鍵盤、MouseMouse、打印機、數(shù)碼相機、打印機、數(shù)碼相機l即插即用,熱插撥,系統(tǒng)不需重啟便可工作,且易即插即用,熱插撥,系統(tǒng)不需重啟便可工作,且易于擴展(于擴展(127127個)個)lUSB2.0USB2.0以低成本實現(xiàn)高達以低成本實現(xiàn)高達480Mb/s480Mb/s的傳輸率(的傳輸率(USB1.1USB1.1的全速設備

39、可達的全速設備可達12Mb/s12Mb/s)l接口標準統(tǒng)一、端口供電接口標準統(tǒng)一、端口供電45一個典型的一個典型的USBUSB通訊系統(tǒng)通訊系統(tǒng)HOST系統(tǒng)系統(tǒng)HUBDEVICEDDEVICE應用軟件應用軟件+驅(qū)動程序驅(qū)動程序Ms.Win+接口芯片接口芯片HUBU盤盤其他其他數(shù)據(jù)采集器數(shù)據(jù)采集器驅(qū)動代碼驅(qū)動代碼+嵌入式嵌入式處理器處理器+HOST芯片芯片HUBU盤盤其他其他數(shù)據(jù)采集器數(shù)據(jù)采集器通用系統(tǒng)模型通用系統(tǒng)模型PC機中的情況機中的情況嵌入式系統(tǒng)應用嵌入式系統(tǒng)應用46本章提要本章提要嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)設計方法嵌

40、入式系統(tǒng)軟件基礎嵌入式系統(tǒng)軟件基礎472.3 嵌入式系統(tǒng)軟件基礎知識嵌入式系統(tǒng)軟件基礎知識 嵌入式系統(tǒng)軟件根據(jù)嵌入式開發(fā)的模式分為:底層軟件、操嵌入式系統(tǒng)軟件根據(jù)嵌入式開發(fā)的模式分為:底層軟件、操作系統(tǒng)和應用軟件。作系統(tǒng)和應用軟件。1. 底層軟件底層軟件l底層軟件是指直接和硬件打交道的程序,具體地講是對處理器的共有寄底層軟件是指直接和硬件打交道的程序,具體地講是對處理器的共有寄存器和外設寄存器進行操作的程序,如系統(tǒng)啟動代碼,硬件初始化代碼存器和外設寄存器進行操作的程序,如系統(tǒng)啟動代碼,硬件初始化代碼,設備驅(qū)動程序等。,設備驅(qū)動程序等。2. 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)l嵌入式操作系統(tǒng)嵌入式操作

41、系統(tǒng)EOS(Embedded Operating System)是一種用途廣)是一種用途廣泛的系統(tǒng)軟件,過去它主要應用于工業(yè)控制和國防系統(tǒng)領域。泛的系統(tǒng)軟件,過去它主要應用于工業(yè)控制和國防系統(tǒng)領域。EOS負責負責嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制、協(xié)調(diào)并發(fā)活動嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制、協(xié)調(diào)并發(fā)活動;3. 嵌入式應用軟件嵌入式應用軟件l嵌入式應用軟件是針對特定應用領域,基于某一固定的硬件平臺,用來嵌入式應用軟件是針對特定應用領域,基于某一固定的硬件平臺,用來達到用戶預期目標的計算機軟件。由于用戶任務可能有時間和精度上的達到用戶預期目標的計算機軟件。由于用戶任

42、務可能有時間和精度上的要求,因此有些嵌入式應用軟件需要特定嵌入式操作系統(tǒng)的支持。要求,因此有些嵌入式應用軟件需要特定嵌入式操作系統(tǒng)的支持。48嵌入式軟件的特點嵌入式軟件的特點1. 嵌入式軟件具有獨特的實用性嵌入式軟件具有獨特的實用性 嵌入式軟件是為嵌入式系統(tǒng)服務的,這就要求它與外部硬嵌入式軟件是為嵌入式系統(tǒng)服務的,這就要求它與外部硬件和設備聯(lián)系緊密。件和設備聯(lián)系緊密。 2. 嵌入式軟件應有靈活的適用性嵌入式軟件應有靈活的適用性 嵌入式軟件通??梢哉J為是一種模塊化軟件,它應該能非常嵌入式軟件通??梢哉J為是一種模塊化軟件,它應該能非常方便靈活的運用到各種嵌入式系統(tǒng)中,而不能破壞或更改原有的方便靈活

43、的運用到各種嵌入式系統(tǒng)中,而不能破壞或更改原有的系統(tǒng)特性和功能。系統(tǒng)特性和功能。3. 程序代碼精簡程序代碼精簡 由于嵌入式系統(tǒng)本身的應用特點,具有小體積、存儲空間較由于嵌入式系統(tǒng)本身的應用特點,具有小體積、存儲空間較小、成本、功耗等要求限制,嵌入式軟件和大型機上的軟件相比小、成本、功耗等要求限制,嵌入式軟件和大型機上的軟件相比,具有代碼精簡、代碼量少、執(zhí)行效率高等特點。,具有代碼精簡、代碼量少、執(zhí)行效率高等特點。492.3.2嵌入式軟件體系結構嵌入式軟件體系結構 本節(jié)將討論四種軟件結構:輪轉結構(本節(jié)將討論四種軟件結構:輪轉結構(round-robin)、帶中斷的輪轉結構、函數(shù)隊列調(diào)度(、帶中

44、斷的輪轉結構、函數(shù)隊列調(diào)度(function-queue scheduling)結構和實時操作系統(tǒng)()結構和實時操作系統(tǒng)(real-time operating system)結構。)結構。 501. 輪詢結構輪詢結構l輪詢結構是能想象得到的、最簡單的一種結構。該結構中不存輪詢結構是能想象得到的、最簡單的一種結構。該結構中不存在中斷,主循環(huán)只是簡單地依次執(zhí)行函數(shù)調(diào)用。在中斷,主循環(huán)只是簡單地依次執(zhí)行函數(shù)調(diào)用。void main() while(1) function1(); function2(); 優(yōu)點:簡單,它沒有中斷,沒有共享數(shù)據(jù),無須考慮延遲時間優(yōu)點:簡單,它沒有中斷,沒有共享數(shù)據(jù),無

45、須考慮延遲時間 51缺點:缺點:l如果一個設備需要比微處理器在最壞情況下完成一個循如果一個設備需要比微處理器在最壞情況下完成一個循環(huán)的時間更短的響應時間,那么這個系統(tǒng)將無法工作。環(huán)的時間更短的響應時間,那么這個系統(tǒng)將無法工作。l即使所要求的響應時間不是絕對的截止時間,當有冗長即使所要求的響應時間不是絕對的截止時間,當有冗長的處理時系統(tǒng)也會工作得不好。的處理時系統(tǒng)也會工作得不好。l這種結構很脆弱。即使能夠設法提高系統(tǒng)的性能,從而這種結構很脆弱。即使能夠設法提高系統(tǒng)的性能,從而因為處理循環(huán)的速度足夠快而是微處理器滿足了所有的因為處理循環(huán)的速度足夠快而是微處理器滿足了所有的需要,但是一旦增加一個額外

46、的設備或者提出一個新的需要,但是一旦增加一個額外的設備或者提出一個新的中斷請求,就可能讓一切都崩潰。中斷請求,就可能讓一切都崩潰。主要應用場合:主要應用場合:l基于上述缺點,輪轉結構可能僅僅適用于非常簡單的裝基于上述缺點,輪轉結構可能僅僅適用于非常簡單的裝置,如數(shù)字手表和微波爐等。置,如數(shù)字手表和微波爐等。 522帶中斷的輪轉結構帶中斷的輪轉結構 l在這種結構中,中斷程序處理硬件特別緊急的需求,然后設置在這種結構中,中斷程序處理硬件特別緊急的需求,然后設置標志,主循環(huán)輪詢這些標志,然后根據(jù)這些需求進行后續(xù)的處標志,主循環(huán)輪詢這些標志,然后根據(jù)這些需求進行后續(xù)的處理。理。 BOOL fDevic

47、eA=FALSE;BOOL fDeviceB=FALSE;BOOL fDeviceZ=FALSE;void interrupt vHandleDeviceA(void) fDeviceA=TRUE;void interrupt vHandleDeviceB(void) fDeviceB=TRUE;void interrupt vHandleDeviceB(void) fDeviceZ=TRUE;void main() while (TRUE)if (fDeviceA) fDeviceA=FALSE;if (fDeviceB) fDeviceB=FALSE;if (fDeviceZ) fDevi

48、ceZ=FALSE; 53l與輪詢結構相比這種結構可對優(yōu)先級進行更多的控制。中斷程與輪詢結構相比這種結構可對優(yōu)先級進行更多的控制。中斷程序可以獲得很快的響應,因為硬件的中斷信號會使位處理器停序可以獲得很快的響應,因為硬件的中斷信號會使位處理器停止正在止正在main函數(shù)中執(zhí)行的任何操作,而轉去執(zhí)行中斷程序。函數(shù)中執(zhí)行的任何操作,而轉去執(zhí)行中斷程序。 輪詢結構中的中斷優(yōu)先級別輪詢結構中的中斷優(yōu)先級別 54l缺點:缺點: 中斷程序與主程序中的數(shù)據(jù)共享問題,當正在執(zhí)行中斷程序與主程序中的數(shù)據(jù)共享問題,當正在執(zhí)行的主程序正在處理共享數(shù)據(jù)時,被中斷程序中斷,進而的主程序正在處理共享數(shù)據(jù)時,被中斷程序中斷,

49、進而處理中斷程序,在中斷程序中有可能又對共享數(shù)據(jù)進行處理中斷程序,在中斷程序中有可能又對共享數(shù)據(jù)進行了相應的操作,從而導致回到主程序時,共享數(shù)據(jù)的值了相應的操作,從而導致回到主程序時,共享數(shù)據(jù)的值已經(jīng)發(fā)生了改變,導致意想不到的結果。已經(jīng)發(fā)生了改變,導致意想不到的結果。 553函數(shù)隊列調(diào)度函數(shù)隊列調(diào)度 l在這種結構中,中斷程序在一個函數(shù)指針中添加一個函數(shù)指針在這種結構中,中斷程序在一個函數(shù)指針中添加一個函數(shù)指針,以供,以供main函數(shù)調(diào)用。主程序僅需要從該隊列中讀取相應的函數(shù)調(diào)用。主程序僅需要從該隊列中讀取相應的指針并且調(diào)用相關的函數(shù)。指針并且調(diào)用相關的函數(shù)。void interrupt vHa

50、ndleDeviceA(void)/將functionA放入函數(shù)指針隊列中;void interrupt vHandleDeviceB(void)/將functionB放入函數(shù)指針隊列中;void functionA()void functionB()void main() while (TRUE) while(/函數(shù)指針隊列為空) /調(diào)用隊列中另一個函數(shù) 56l優(yōu)點優(yōu)點:main可以根據(jù)任何可以達到目標的優(yōu)先級方案來調(diào)用函數(shù)可以根據(jù)任何可以達到目標的優(yōu)先級方案來調(diào)用函數(shù),這樣任何需要更快響應的任務代碼都可以被更早執(zhí)行。,這樣任何需要更快響應的任務代碼都可以被更早執(zhí)行。為了做到這一點,只需要在

51、對函數(shù)指針進行排隊的程序中為了做到這一點,只需要在對函數(shù)指針進行排隊的程序中對代碼進行一點技巧性設計。對代碼進行一點技巧性設計。l缺點:缺點:具有較低優(yōu)先級任務代碼的函數(shù)可能會有更差的響應。具有較低優(yōu)先級任務代碼的函數(shù)可能會有更差的響應。如果某個較低優(yōu)先級任務的代碼函數(shù)過長,就有可能影響如果某個較低優(yōu)先級任務的代碼函數(shù)過長,就有可能影響較高優(yōu)先級函數(shù)的響應時間。較高優(yōu)先級函數(shù)的響應時間。 574實時操作系統(tǒng)實時操作系統(tǒng)void interrupt vHandleDeviceA(void)/設置信號設置信號X;void interrupt vHandleDeviceB(void)/設置信號設置信

52、號Y;void Task1()void Task1() while (TRUE) void Task2() while (TRUE) 是在函數(shù)隊列調(diào)度結構基礎上發(fā)展而來的一種結構是在函數(shù)隊列調(diào)度結構基礎上發(fā)展而來的一種結構58l這種結構和以前那些結構的不同之處在于:這種結構和以前那些結構的不同之處在于:中斷程序和任務代碼之間的必要信號發(fā)送是由實時操作系中斷程序和任務代碼之間的必要信號發(fā)送是由實時操作系統(tǒng)處理的,而并不需要使用共享變量來達到這個目標。統(tǒng)處理的,而并不需要使用共享變量來達到這個目標。在代碼中并沒有用循環(huán)來決定下一步要做什么。實時操作在代碼中并沒有用循環(huán)來決定下一步要做什么。實時操作

53、系統(tǒng)內(nèi)部的代碼可以決定什么任務代碼函數(shù)可以運行。系統(tǒng)內(nèi)部的代碼可以決定什么任務代碼函數(shù)可以運行。實時操作系統(tǒng)可以在一個任務代碼程序運行期間將其掛起實時操作系統(tǒng)可以在一個任務代碼程序運行期間將其掛起,以便運行另一個自程序。,以便運行另一個自程序。 前兩點主要針對編程的方便性;而最后一點是實質(zhì)前兩點主要針對編程的方便性;而最后一點是實質(zhì)性的:使用實時操作系統(tǒng)結構的系統(tǒng)不僅可以控制任務性的:使用實時操作系統(tǒng)結構的系統(tǒng)不僅可以控制任務代碼的響應時間,還可以控制中斷程序的響應時間。代碼的響應時間,還可以控制中斷程序的響應時間。 59不同軟件結構的特點不同軟件結構的特點 l在輪詢機構和函數(shù)隊列調(diào)度結構中,

54、一個任務代碼函數(shù)的響應在輪詢機構和函數(shù)隊列調(diào)度結構中,一個任務代碼函數(shù)的響應時間,取決于包括低優(yōu)先級任務子程序在內(nèi)的各個任務代碼子時間,取決于包括低優(yōu)先級任務子程序在內(nèi)的各個任務代碼子程序的長度。當改變?nèi)我庖粋€子程序的時候,就有可能改變了程序的長度。當改變?nèi)我庖粋€子程序的時候,就有可能改變了整個系統(tǒng)的響應時間。而在實時操作系統(tǒng)結構中,對于較低優(yōu)整個系統(tǒng)的響應時間。而在實時操作系統(tǒng)結構中,對于較低優(yōu)先級函數(shù)的改變通常不會影響較高優(yōu)先級函數(shù)的響應時間。先級函數(shù)的改變通常不會影響較高優(yōu)先級函數(shù)的響應時間。 60軟件結構的選擇軟件結構的選擇 當要為嵌入式系統(tǒng)選擇一種軟件結構時,一般按照當要為嵌入式系統(tǒng)

55、選擇一種軟件結構時,一般按照以下原則進行:以下原則進行:l選擇可以滿足響應時間需求的最簡單的結構。即使沒選擇可以滿足響應時間需求的最簡單的結構。即使沒有選擇一個復雜的軟件結構,僅僅是編寫嵌入式系統(tǒng)有選擇一個復雜的軟件結構,僅僅是編寫嵌入式系統(tǒng)軟件就很復雜了。軟件就很復雜了。l如果系統(tǒng)對于響應時間的要求很高使得一個實時操作如果系統(tǒng)對于響應時間的要求很高使得一個實時操作系統(tǒng)稱為必須的,那就應該使用實時操作系統(tǒng)結構。系統(tǒng)稱為必須的,那就應該使用實時操作系統(tǒng)結構。大多數(shù)商業(yè)系統(tǒng)都提供相應的工具集,方便編程人員大多數(shù)商業(yè)系統(tǒng)都提供相應的工具集,方便編程人員對應用程序的開發(fā)和調(diào)試。對應用程序的開發(fā)和調(diào)試。

56、l如果對一個系統(tǒng)有意義的話,可以將這幾種結構結合如果對一個系統(tǒng)有意義的話,可以將這幾種結構結合起來使用。起來使用。61本章提要本章提要嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)總體結構嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)設計方法嵌入式系統(tǒng)軟件基礎嵌入式系統(tǒng)軟件基礎622.4 嵌入式系統(tǒng)的設計方法嵌入式系統(tǒng)的設計方法l嵌入式系統(tǒng)的總體結構嵌入式系統(tǒng)的總體結構l嵌入式系統(tǒng)的設計流程嵌入式系統(tǒng)的設計流程l嵌入式系統(tǒng)設計步驟嵌入式系統(tǒng)設計步驟l嵌入式系統(tǒng)的的硬件軟件協(xié)同設計技術嵌入式系統(tǒng)的的硬件軟件協(xié)同設計技術l嵌入式開發(fā)工具與開發(fā)環(huán)境嵌入式開發(fā)工具與開發(fā)環(huán)境632.4.1 嵌入式系統(tǒng)的

57、設計流程嵌入式系統(tǒng)的設計流程 嵌入式系統(tǒng)設計一般有嵌入式系統(tǒng)設計一般有5個階段構成:需求分析、個階段構成:需求分析、體系結構設計、硬件體系結構設計、硬件/軟件設計、系統(tǒng)集成和系統(tǒng)測試軟件設計、系統(tǒng)集成和系統(tǒng)測試64嵌入式系統(tǒng)設計步驟嵌入式系統(tǒng)設計步驟l系統(tǒng)需求分析:系統(tǒng)需求分析:確定設計任務和設計目標,并提煉出設確定設計任務和設計目標,并提煉出設計規(guī)格說明書,作為正式設計指導和驗收的標準。系統(tǒng)計規(guī)格說明書,作為正式設計指導和驗收的標準。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。的需求一般分功能性需求和非功能性需求兩方面。l體系結構設計:體系結構設計:描述系統(tǒng)如何實現(xiàn)所述的功能和非功能描述

58、系統(tǒng)如何實現(xiàn)所述的功能和非功能需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分以及系需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分以及系統(tǒng)的軟件、硬件選型等。一個好的體系結構是設計成功統(tǒng)的軟件、硬件選型等。一個好的體系結構是設計成功與否的關鍵。與否的關鍵。l硬件硬件/ /軟件協(xié)同設計:軟件協(xié)同設計:基于體系結構,對系統(tǒng)的軟件、基于體系結構,對系統(tǒng)的軟件、硬件進行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計往往硬件進行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計往往是并行的。應該說,嵌入式系統(tǒng)設計的工作大部分都集是并行的。應該說,嵌入式系統(tǒng)設計的工作大部分都集中在軟件設計上,采用面向?qū)ο蠹夹g、軟件組件技術、中在軟件設計上

59、,采用面向?qū)ο蠹夹g、軟件組件技術、模塊化設計是現(xiàn)代軟件工程經(jīng)常采用的方法。模塊化設計是現(xiàn)代軟件工程經(jīng)常采用的方法。l系統(tǒng)集成:系統(tǒng)集成:把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過程中的錯誤。,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過程中的錯誤。l系統(tǒng)測試:系統(tǒng)測試:對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)格說明書中給定的功能要求。格說明書中給定的功能要求。65單片機系統(tǒng)的開發(fā)流程單片機系統(tǒng)的開發(fā)流程l通常在單片機系統(tǒng)的開發(fā)和應用中,是按照如圖下圖通常在單片機系統(tǒng)的開發(fā)和應用中,是按照如圖下圖所示的流程進

60、行的。所示的流程進行的。66嵌入式系統(tǒng)的開發(fā)過程嵌入式系統(tǒng)的開發(fā)過程l在嵌入式系統(tǒng)的應用開發(fā)中,整個系統(tǒng)的開發(fā)過程將在嵌入式系統(tǒng)的應用開發(fā)中,整個系統(tǒng)的開發(fā)過程將改變?yōu)槿缦聢D所示的過程。改變?yōu)槿缦聢D所示的過程。672.4.3 嵌入式系統(tǒng)的的硬件軟件協(xié)同設計技術嵌入式系統(tǒng)的的硬件軟件協(xié)同設計技術 從理論上來說,每一個應用系統(tǒng),都存在一個適從理論上來說,每一個應用系統(tǒng),都存在一個適合于該系統(tǒng)的硬件、軟件功能的最佳組合,如何從應合于該系統(tǒng)的硬件、軟件功能的最佳組合,如何從應用系統(tǒng)需求出發(fā),依據(jù)一定的指導原則和分配算法對用系統(tǒng)需求出發(fā),依據(jù)一定的指導原則和分配算法對硬件硬件/軟件功能進行分析及合理的劃

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論