




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
題型選擇題1*10填空題1*10名詞解釋6*3簡答題7*6分析題2*10復(fù)習提綱:目錄1. 嵌入式系統(tǒng)的概念及特點 12. 嵌入式系統(tǒng)與桌面通用系統(tǒng)的區(qū)別〔課本P4-5〕 33. 典型的嵌入式操作系統(tǒng)有哪些,各有什么特點 44. 傳統(tǒng)的單片機與嵌入式系統(tǒng)之間的關(guān)系 45. 嵌入式系統(tǒng)從底層硬件到上層應(yīng)用程序的分層及組成局部 46. 硬件處理器的種類〔書本P19~P23〕 47. 外圍硬件的組成局部 58. 嵌入式操作系統(tǒng)的作用及種類,典型的嵌入式實時操作系統(tǒng) 59. 嵌入式開發(fā)模式〔交叉開發(fā)〕 610. 嵌入式系統(tǒng)與通用計算機系統(tǒng)硬件組成上的異同 611. 嵌入式最小系統(tǒng)的概念,組成和作用 712. ARM7TDMI的含義 813. 存儲器的存儲方式,字和半字 814. ARM7的三級流水線模式 915. ARM處理器的狀態(tài),和對應(yīng)的指令集 916. ARM處理器的工作模式 917. ARM有多少個通用存放器和狀態(tài)存放器,各狀態(tài)存放器的作用 1018. ARM異常進入與退出的過程〔重點〕 1019. ARM的兩種中止異?!仓攸c〕 1120. Thumb和ARM指令集的關(guān)系〔第4講PPT中P131〕 1121. ARM處理器尋址方式,分別舉例說明〔第4講PPT中P9〕 1122. ARM指令的特點〔第4講PPT中P25〕 1223. ARM數(shù)據(jù)處理指令有哪幾類?〔第4講PPT中P60〕 1224. 嵌入式開發(fā)的方法,幾種調(diào)試方式。 1325. 嵌入式Linux操作系統(tǒng)主要組成局部有哪些。 1326. 嵌入式linux的引導(dǎo)方式。 1427. 內(nèi)存管理單元的作用 1428. Linux操作系統(tǒng)的驅(qū)動類型 1429. ARM程序狀態(tài)存放器各位的功能 1530. bootloader的作用 1531. 實時操作系統(tǒng)的概念,硬實時與軟實時概念。 1532. 操作系統(tǒng)中任務(wù)、調(diào)度、互斥、優(yōu)先級、代碼臨界區(qū)、上下文切換等概念?!仓攸c〕 1533. 實時操作系統(tǒng)與通用操作系統(tǒng)的區(qū)別。 1634. μC/OS的優(yōu)先級數(shù)。 1635. 大端存儲模式與小端存儲模式。 1736. 設(shè)計一個嵌入式系統(tǒng)的步驟 17嵌入式系統(tǒng)的概念及特點概念:IEEE〔國際電氣和電子工程師協(xié)會〕給出的定義:嵌入式系統(tǒng)是用于控制、監(jiān)視或者輔助裝置、機器或者設(shè)備運行的裝置。通常執(zhí)行特定功能以微電腦和外圍構(gòu)成核心嚴格的時序和穩(wěn)定性要求全自動操作循環(huán)從技術(shù)的角度定義:以應(yīng)用為中心、以計算機技術(shù)為根底、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、本錢、體積、功耗嚴格要求的專用計算機系統(tǒng)。從系統(tǒng)的角度定義:嵌入式系統(tǒng)是設(shè)計完成復(fù)雜功能的硬件和軟件,并使其緊密耦合在一起的計算機系統(tǒng)。術(shù)語嵌入式反映了這些系統(tǒng)通常是更大系統(tǒng)中的一個完整的局部,稱為嵌入的系統(tǒng)。嵌入的系統(tǒng)中可以共存多個嵌入式系統(tǒng)。特點:1.系統(tǒng)內(nèi)核小;2.專用性強;3.系統(tǒng)精簡;4.高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的根本要求;5.嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務(wù)的操作系統(tǒng);6.嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。書本:概念:嵌入式系統(tǒng)是一種電氣/電子-機械系統(tǒng),設(shè)計用于執(zhí)行特定的功能,是硬件與固件〔即軟件〕結(jié)合的產(chǎn)物。特點:1.面向特定應(yīng)用和特定領(lǐng)域;2.反應(yīng)與實時性;3.能夠在惡劣環(huán)境中工作;4.分布式;5.尺寸小、重量輕;6.低功耗、節(jié)能?!簿啠何⑿突?;可裁剪性;實時性;高可靠性;易移植性〕嵌入式系統(tǒng)與桌面通用系統(tǒng)的區(qū)別〔課本P4-5〕嵌入式系統(tǒng)中運行的任務(wù)是專用而確定的(專用性)桌面通用系統(tǒng)需要支持大量的、需求多樣的應(yīng)用程序嵌入式系統(tǒng)往往對實時性提出較高的要求嵌入式系統(tǒng)中使用的操作系統(tǒng)一般是實時操作系統(tǒng)〔實時性〕嵌入式實時操作系統(tǒng)數(shù)量眾多〔多操作系統(tǒng)性〕嵌入式系統(tǒng)運行需要高可靠性保障,比桌面系統(tǒng)的故障容忍能力弱很多嵌入式系統(tǒng)需要忍受長時間、無人值守條件下的運行嵌入式系統(tǒng)運行的環(huán)境惡劣嵌入式系統(tǒng)大都有功耗約束嵌入式系統(tǒng)比桌面通用系統(tǒng)可用資源少得多嵌入式系統(tǒng)的開發(fā)需要專用工具和特殊方法嵌入式系統(tǒng)開發(fā)是一項綜合的計算機應(yīng)用技術(shù)桌面通用系統(tǒng)需要支持大量的、需求多樣的應(yīng)用程序:對系統(tǒng)中運行的程序不作假設(shè);程序升級、更新等方便書上:通用計算系統(tǒng)嵌入式系統(tǒng)由普通硬件與通用操作系統(tǒng)構(gòu)成的系統(tǒng),可以執(zhí)行各種應(yīng)用程序由專用硬件與嵌入式操作系統(tǒng)構(gòu)成的系統(tǒng),專門執(zhí)行特定的應(yīng)用程序包含通用操作系統(tǒng)〔GeneralPurposeOperatingSystem,GPOS〕根據(jù)功能的不容,可能包含操作系統(tǒng),也可能不包含操作系統(tǒng)系統(tǒng)應(yīng)用程序是用戶可以重裝操作系統(tǒng),也可以添加或刪除用戶應(yīng)用程序嵌入式系統(tǒng)的固件是預(yù)編程的,終端用戶不可以更改。不過,對于,某些支持OS內(nèi)核的系統(tǒng),可以通過特殊的硬件設(shè)置完成更新在系統(tǒng)選型的時候,性能是關(guān)鍵的決定性因素,一般說來,速度越快越好特定應(yīng)用需求〔比方性能、功率需求、內(nèi)存使用等〕是關(guān)鍵的決定性因素很少或無需通過降低配置來減少系統(tǒng)運行功耗需求,具有不同級別的電腦管理方案系統(tǒng)往往經(jīng)過了大量的裁剪,可以在硬件與操作系統(tǒng)的支持下在省電模式工作響應(yīng)時間需求不是至關(guān)重要的對于特定類型的嵌入式系統(tǒng)而言〔比方任務(wù)關(guān)鍵系統(tǒng)〕,響應(yīng)時間需求是至關(guān)重要的系統(tǒng)執(zhí)行的功能不需要是確定性的對于特定類型的嵌入式系統(tǒng)而言〔比方硬實時系統(tǒng)〕,執(zhí)行的功能是確定性的典型的嵌入式操作系統(tǒng)有哪些,各有什么特點μCLinux是一個完全符合GNU/GPL公約的操作系統(tǒng),完全開放代碼。μClinux從Linux
2.0/2.4內(nèi)核派生而來,沿襲了主流Linux的絕大局部特性。它是專門針對沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。適用于沒有虛擬內(nèi)存或內(nèi)存管理單元(MMU)的處理器,例如ARM7TDMI。它通常用于具有很少內(nèi)存或Flash的嵌入式系統(tǒng)。它保存了Linux的大局部優(yōu)點:穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、完備的對各種文件系統(tǒng)的支持、以及標準豐富的API等。WindowsCE是微軟開發(fā)的一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作,它是精簡的Windows95。WindowsCE的圖形用戶界面相當出色。WinCE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口以及與處理器無關(guān)等特點。WinCE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在WinCE平臺上可以使用Windows95/98上的編程工具〔如VisualBasic、VisualC++等〕、使絕大多數(shù)的應(yīng)用軟件只需簡單的修改和移植就可以在WindowsCE平臺上繼續(xù)使用。VxWorks是常用的硬實時多任務(wù)操作系統(tǒng),有著良好的持續(xù)開展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境。良好的可靠性和卓越的實時性被廣泛地應(yīng)用在各種領(lǐng)域。μC/OS-II是一個源碼公開、可移植、可固化、可裁剪、占先式的實時多任務(wù)操作系統(tǒng)。其絕大局部源碼是用ANSIC寫的,使其可以方便的移植并支持大多數(shù)類型的處理器。μC/OS-II占用很少的系統(tǒng)資源,并且在高校教學使用是不需要申請許可證。傳統(tǒng)的單片機與嵌入式系統(tǒng)之間的關(guān)系廣義上來說單片機是典型的嵌入式系統(tǒng)。單片機構(gòu)成的系統(tǒng)是開展最快、品種最多、數(shù)量最大、應(yīng)用最廣的嵌入式系統(tǒng)。由于單片機有嵌入式應(yīng)用的專用體系結(jié)構(gòu)與指令系統(tǒng),而且具有體積小、可靠性高等特點,又具有各種各樣的型號,可以滿足不同的需求,實際應(yīng)用時,開發(fā)者可根據(jù)具體要求選用最正確型號的單片機嵌入到應(yīng)用系統(tǒng)中。嵌入式系統(tǒng)從底層硬件到上層應(yīng)用程序的分層及組成局部嵌入式系統(tǒng)一般由外圍硬件設(shè)備〔硬件層〕、嵌入式處理器〔驅(qū)動層〕、嵌入式操作系統(tǒng)〔操作系統(tǒng)層〕,以及用戶的應(yīng)用軟件系統(tǒng)〔應(yīng)用層〕等四個局部組成。硬件處理器的種類〔書本P19~P23〕嵌入式處理器是嵌入式系統(tǒng)的核心。嵌入式處理器一般都具有較高的集成度?,F(xiàn)有1000多種硬件處理器,分為MPU[MicroProcessorUnit]〔嵌入式微處理器的根底是通用計算機中的CPU?!?、MCU[MicroControllerUnit]〔嵌入式微控制器又稱單片機,它是將整個計算機系統(tǒng)集成到一塊芯片中,微控制器的片上外設(shè)資源一般比擬豐富,適合于控制,因此稱微控制器。〕、DSP[EmbeddedDigitalSignalProcessor]〔嵌入式DSP處理器,專門用于信號處理方面〕、SOC[SystemOnChip]〔嵌入式片上系統(tǒng),可以分為通用和專用兩類〕外圍硬件的組成局部片外總線:連接系統(tǒng)各個部件,進行互連和傳輸信息的信號線。電子盤:采用flash芯片存儲數(shù)據(jù),體積小、功耗低、抗震I/O設(shè)備〔A/D、D/A、中斷控制器、UART、LCD〕通訊設(shè)備〔有線通訊:IEEE1394、USB、無線通訊:IrDA、Bluetooth、802.11b/g〕外圍硬件是嵌入式系統(tǒng)處理器以外的硬件,它為系統(tǒng)提供了運行條件和局部功能。嵌入式操作系統(tǒng)的作用及種類,典型的嵌入式實時操作系統(tǒng)作用:嵌入式操作系統(tǒng)的作用一般只是為了應(yīng)用程序提供必要運行環(huán)境〔任務(wù)調(diào)度〕,附加任務(wù)通訊、內(nèi)存管理等功能?!舶俣劝倏啤城度胧讲僮飨到y(tǒng)負責嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動。它必須表達其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來到達系統(tǒng)所要求的功能。嵌入式系統(tǒng)和系統(tǒng)的硬件根底關(guān)系緊密,一般都需要移植和配置才可以使用。嵌入式操作系統(tǒng)讓嵌入式系統(tǒng)的開發(fā)利用通用的功能模塊,這可以讓開發(fā)更加高效。分類:按硬件分可以參照第6題,主要以處理器種類分類。按軟件分:嵌入式系統(tǒng)的軟件主要有兩大類:實時系統(tǒng)和分時系統(tǒng)。其中實時系統(tǒng)又分為兩類:硬實時系統(tǒng)和軟實時系統(tǒng)。分時操作系統(tǒng)〔Time-sharingOperatingsystem,TSOS〕:〔百度百科〕分時是指多個用戶分享使用同一臺計算機。多個程序分時共享硬件和軟件資源。分時操作系統(tǒng)是指在一臺主機上連接多個帶有顯示器和鍵盤的終端,同時允許多個用戶通過主機的終端,以交互方式使用計算機,共享主機中的資源。分時操作系統(tǒng)是一個多用戶交互式操作系統(tǒng)。分時操作系統(tǒng),主要分為三類:單道分時操作系統(tǒng),多道分時操作系統(tǒng),具有前臺和后臺的分時操作系統(tǒng)。分時操作系統(tǒng)將CPU的時間劃分成假設(shè)干個片段,稱為時間片。操作系統(tǒng)以時間片為單位,輪流為每個終端用戶效勞。實時操作系統(tǒng)〔RealTimeOperatingSystem,RTOS〕:〔百度百科〕實時嵌入系統(tǒng)是為執(zhí)行特定功能而設(shè)計的,可以嚴格的按時序執(zhí)行功能。其最大的特征就是程序的執(zhí)行具有確定性。在實時系統(tǒng)中,如果系統(tǒng)在指定的時間內(nèi)未能實現(xiàn)某個確定的任務(wù),會導(dǎo)致系統(tǒng)的全面失敗,那么系統(tǒng)被稱為硬實時系統(tǒng)。而在軟實時系統(tǒng)中,雖然響應(yīng)時間同樣重要,但是超時卻不會導(dǎo)致致命錯誤。一個硬實時系統(tǒng)往往在硬件上需要添加專門用于時間和優(yōu)先級管理的控制芯片,而軟實時系統(tǒng)那么主要在軟件方面通過編程實現(xiàn)時限的管理。典型的嵌入式實時操作系統(tǒng)〔RTOS〕:①近200種操作系統(tǒng),VxWorks、QNX、WinCE、PalmOS②面向SOC的操作系統(tǒng):Symbian的Epoc、ExpressLogic的ThreadX、ATI的Nucleus③開放源碼的操作系統(tǒng):Linux系列、μC/OS嵌入式開發(fā)模式〔交叉開發(fā)〕嵌入式系統(tǒng)開發(fā)分為軟件開發(fā)局部和硬件開發(fā)局部。嵌入式系統(tǒng)在開發(fā)過程一般都采用如圖5-3所示的“宿主機/目標板〞開發(fā)模式,即利用宿主機(PC機)上豐富的軟硬件資源及良好的開發(fā)環(huán)境和調(diào)試工具來開發(fā)目標板上的軟件,然后通過交叉編譯環(huán)境生成目標代碼和可執(zhí)行文件,通過串口/USB/以太網(wǎng)等方式下載到目標板上,利用交叉調(diào)試器在監(jiān)控程序運行,實時分析,最后,將程序下載固化到目標機上,完成整個開發(fā)過程。宿主機開發(fā)機器〔編輯器、編譯器、調(diào)試器、…〕目標機程序運行的機器宿主機和目標機一樣時為本地編譯交叉編譯是指宿主機和目標機是不同的系統(tǒng)〔必須做目標文件下載〕嵌入式系統(tǒng)與通用計算機系統(tǒng)硬件組成上的異同計算機系統(tǒng)由處理器、內(nèi)存、總線等主要部件組成。嵌入式系統(tǒng)的組成結(jié)構(gòu):處理器〔內(nèi)核+片內(nèi)外設(shè)〕+內(nèi)存+外圍硬件+輔助設(shè)備。嵌入式系統(tǒng)和一般的計算機系統(tǒng)類似,也是由CPU、內(nèi)存、IO端口、總線等幾個局部組成。嵌入式系統(tǒng)硬件結(jié)構(gòu)的特點:以嵌入式處理器為核心,集成度高。嵌入式系統(tǒng)本質(zhì)上是計算機系統(tǒng),但是具有以下的特點:集成度高、非標準化、接口非常復(fù)雜。桌面計算機系統(tǒng)中,CPU具有總線功能,但不包括其他的設(shè)備,一些構(gòu)建系統(tǒng)根本的部件由主板的芯片組提供。一些外部的設(shè)備〔如串口、定時器、中斷控制器〕可能做在南橋中,而內(nèi)存控制器、顯示接口〔AGP〕常由北橋完成。嵌入式系統(tǒng)中處理器的集成度大都很高。一些根本的設(shè)備如通用可編程輸入輸出端口〔GPIO〕、定時器、中斷控制器,通常都集成在處理器當中。一些嵌入式處理器甚至包含內(nèi)存,只需要在外部擴展簡單的電路,就可以組成系統(tǒng)。書本:RISC與CISC的對照表RISC精簡指令集CISC復(fù)雜指令集〔51單片機〕指令的數(shù)量較少指令的數(shù)量較多具有指令流水功能通常不具備指令流水功能不相關(guān)指令集〔每條指令都可以操作任意存放器,并使用任意的地址模式〕相關(guān)指令集〔不是所有的指令都允許操作任意存放器,或者使用任意的地址模式;某些指令是專用的〕操作只在存放器上執(zhí)行,存儲器只進行載入和存儲根據(jù)指令來決定操作是在存放器上執(zhí)行,還是在存儲器上執(zhí)行具有大量可用的存放器通用存放器的數(shù)量受限編程人員需要編寫更多的代碼來執(zhí)行制定的任務(wù),因為RISC提供的指令比擬簡單CISC指令類似于C語言中的宏。編程人員可以使用單條指令來實現(xiàn)制定的功能,這在RISC中往往需要使用多條簡單指令才能實現(xiàn)指令的長度固定指令的長度可變使用的硅芯片面積較小,管腳數(shù)量較少使用的硅芯片面積較大,這是因為為了實現(xiàn)復(fù)雜指令的姨媽,需要使用更多額外的譯碼器邏輯具有哈佛結(jié)構(gòu)具有哈佛結(jié)構(gòu)和馮?諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)與馮?諾依曼結(jié)構(gòu)對照表哈佛結(jié)構(gòu)馮?諾依曼結(jié)構(gòu)通過兩條獨立總線,同時獲取指令和數(shù)據(jù)通過單條共享總線,分階段獲取指令易于實現(xiàn)指令流水,從而可以實現(xiàn)高性能與哈佛結(jié)構(gòu)相比,其性能較低本錢相對較高本錢相對較低不存在存儲器對齊的問題允許存在自修改代碼由于在物理存儲上,數(shù)據(jù)和程序存儲在不同的存儲器內(nèi),因此程序存儲器不會發(fā)生意外損壞由于數(shù)據(jù)和程序存儲在新片中相同的存儲器內(nèi),因此程序存儲器有可能發(fā)生意外損壞嵌入式最小系統(tǒng)的概念,組成和作用概念:嵌入式系統(tǒng)的最小系統(tǒng)指基于某處理器為核心,可以運轉(zhuǎn)起來的最簡單的硬件設(shè)計〔即處理器能夠運行的最根本系統(tǒng)〕組成:在嵌入式系統(tǒng)中,最簡單的系統(tǒng)包括以下單元:處理器、內(nèi)存、時鐘、電源和復(fù)位,為了能夠支持程序的下載和調(diào)試,一般還需要在最小系統(tǒng)中添加對JTAG接口的支持。處理器:對于任何一個操作系統(tǒng),處理器都是整個系統(tǒng)的核心,整個系統(tǒng)是靠處理器的指令工作起來的。內(nèi)存:一個嵌入式處理器的運行,其指令必須放入一定的存儲空間內(nèi),運行的時候也需要空間來存儲臨時的數(shù)據(jù),因此內(nèi)存也是必不可少的。時鐘:處理器的運行時鐘周期的,一般來說處理器在一個或者幾個周期執(zhí)行一條指令。時鐘單元的核心是晶振,它可以提供一定頻率,處理器使用該頻率的時候可能還需要進行倍頻處理。電源:微處理器提供能源的部件,在嵌入式系統(tǒng)中一般使用直流電源。復(fù)位電路:連接處理器的引腳,實現(xiàn)通過外部點評讓處理器復(fù)位的目的。作用:在嵌入式系統(tǒng)的開發(fā)中,最小系統(tǒng)起著至關(guān)重要的作用。最小系統(tǒng)是構(gòu)建嵌入式系統(tǒng)的的第一步,保證嵌入式處理器可以運作。然后才可以逐步增加系統(tǒng)的功能,如:外圍硬件擴展、軟件及程序設(shè)計、操作系統(tǒng)移植、增加各種接口等,最終形成符合需求的完整系統(tǒng)。最小系統(tǒng)〔要說全〕pptP29〔底層〕如果要更改程序,需將上述整個過程重復(fù)一遍。尤其連接存儲器和處理器的過程非常復(fù)雜,可能需要重做整個系統(tǒng)!使用JTAG〔JointTestActionGroup〕的時候可以將程序直接載入到目標機的RAM中,然后直接運行。因此ROM/FLASH在最小系統(tǒng)中已不是必須的了。ARM7TDMI的含義ARM7TDMI-S是基于ARM體系結(jié)構(gòu)V4版本的低端ARM核。其彌補了ARM6很難在低于5V電壓下穩(wěn)定工作的缺乏,還增加了后綴所對應(yīng)的功能。在ARM核的命名規(guī)那么中,TDMI的根本含義為:〔注意:“ARM核〞并非芯片,ARM核與其它部件如RAM、ROM、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)實的芯片?!砊:支持高密度16位的Thumb指令集;D:支持片上Debug;M:內(nèi)嵌硬件乘法器〔Multiplier〕,支持64位乘法;I:嵌入式ICE,支持片上斷點和調(diào)試點。S:ARM7TDMI的可綜合〔synthesizable〕版本〔軟核〕,對應(yīng)用工程師來說其編程模型與ARM7TDMI一致;存儲器的存儲方式,字和半字從偶數(shù)地址開始的連續(xù)2個字節(jié)構(gòu)成一個半字;以能被4整除的地址開始的連續(xù)4個字節(jié)構(gòu)成一個字;ARM指令的長度剛好是一個字,Thumb指令的長度剛好是一個半字。如果一個數(shù)據(jù)是從偶數(shù)地址開始的連續(xù)存儲,那么它就是半字對齊,否那么就是非半字對齊;如果一個數(shù)據(jù)是以能被4整除的地址開始的連續(xù)存儲,那么它就是字對齊,否那么就是非字對齊。方式半字對齊字對齊地址……0x40020x40040x40060x4008…………0x40040x40080x400C0x4010……特征Bit0=0其他位為任意值Bit1=0,Bit0=0其他位為任意值A(chǔ)RM7的三級流水線模式ARM7TDMI的流水線分3級,分別為:取址〔從存放器裝載一條指令〕→譯碼〔識別將要被執(zhí)行的指令〕→執(zhí)行〔處理指令并將結(jié)果寫回存放器〕如果程序發(fā)生跳轉(zhuǎn),流水線將被清空,這將需要幾個時鐘才能是流水線再次填滿。因此,為提高程序執(zhí)行效率,應(yīng)盡可能少用跳轉(zhuǎn)指令,盡量使用指令的“條件執(zhí)行〞功能。ARM處理器的狀態(tài),和對應(yīng)的指令集ARM7TDMI處理器內(nèi)核包含2套指令系統(tǒng),分別為ARM指令集和Thumb指令,各自對應(yīng)1種處理器的狀態(tài),并以“當前程序狀態(tài)存放器CPSR〞中的控制位T反映所處的狀態(tài)〔T=0,ARM;T=1,Thumb〕:ARM狀態(tài):32位,處理器執(zhí)行字方式的ARM指令,處理器默認為此狀態(tài);Thumb狀態(tài):16位,處理器執(zhí)行半字方式的Thumb指令。注意:兩個狀態(tài)之間的切換并不影響處理器模式或存放器內(nèi)容。ARM處理器的工作模式ARM體系結(jié)構(gòu)支持7種處理器模式,分別為:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。除用戶模式外,其它模式均為特權(quán)模式。快中斷模式、中斷模式、管理模式、中止模式、未定義模式這五種模式稱為異常模式。它們除了可以通過程序切換進入外,也可以由特定的異常進入。用戶模式和系統(tǒng)模式這兩種模式都不能由異常進入,想要進入必須修改CPSR,而且它們使用完全相同的存放器組。系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。處理器模式說明備注用戶(user)正常程序運行的工作模式隔離操作系統(tǒng)與用戶應(yīng)用程序,不能直接從用戶模式切換到其它模式特權(quán)模式系統(tǒng)(sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到其它模式等特權(quán)異常模式快中斷(fiq)快速中斷請求處理只有在FIQ異常響應(yīng)時,才進入此模式中斷(irq)中斷請求處理只有在IRQ異常響應(yīng)時,才進入此模式管理(svc)供操作系統(tǒng)使用的一種保護模式只有在系統(tǒng)復(fù)位和軟件中斷響應(yīng)時,才進入此模式中止(abt)用于虛擬內(nèi)存和/或存儲器保護在ARM7內(nèi)核中沒有多大用處未定義(und)支持軟件仿真的硬件協(xié)處理器只有在未定義指令異常響應(yīng)時,才進入此模式ARM有多少個通用存放器和狀態(tài)存放器,各狀態(tài)存放器的作用在ARM處理器內(nèi)部共有37個用戶可訪問的存放器,分別為31個通用32位存放器和6個狀態(tài)存放器。ARM處理器共有7種不同的處理器模式,每種模式都有一組相應(yīng)的存放器組,最多可以18個活動的存放器。ARM內(nèi)核包含1個CPSR和5個僅供異常處理程序使用的SPSR。存放器CPSR為當前程序狀態(tài)存放器,在異常模式中,另外一個存放器“程序狀態(tài)保存存放器〔SPSR〕〞可以被訪問。每種異常都有自己的SPSR,在進入異常時它保存CPSR的當前值,異常退出時可通過它恢復(fù)CPSR。順便去看看第29題。ARM異常進入與退出的過程〔重點〕只要正常的程序流被暫時中止,處理器就進入異常模式。異常的進入,當一個異常導(dǎo)致模式切換時,內(nèi)核自動的做如下處理:①將異常處理程序的返回地址〔加固定的偏移量〕保存到相應(yīng)異常模式下的LR;②將CPSR的當前值保存到相應(yīng)異常模式下的SPSR;③設(shè)置CPSR為相應(yīng)的異常模式;④設(shè)置PC為相應(yīng)異常處理程序的中斷入口向量地址,跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行;異常的退出,當異常處理程序結(jié)束時,異常處理程序必須:①返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行,即就是說將LR中的值減去偏移量后移入PC;②將SPSR的值復(fù)制回CPSR;③清零在入口處置位的中斷禁止標志。優(yōu)先級異常優(yōu)先級由高到低1優(yōu)先級由高到低復(fù)位2數(shù)據(jù)中止3FIQ4IRQ5預(yù)取指中止6未定義指令中止6軟件中斷異常ARM的兩種中止異?!仓攸c〕中止表示當前對存儲器的訪問不能被完成,這是由外部ABORT輸入信號引起的異常中斷。中止類型有2種類型:預(yù)取指中止:由程序存儲器引起的中止異常;當發(fā)生預(yù)取指中止時,ARM內(nèi)核將預(yù)取的指令標記為無效,但在指令到達流水線的執(zhí)行階段時才進入異常。如果指令在流水線中因為發(fā)生分支而沒有被執(zhí)行,中止將不會發(fā)生。在處理中止的原因之后,不管處于哪種處理器操作狀態(tài),處理程序都會執(zhí)行下面的指令恢復(fù)PC和CPSR并重試被中止的指令:SUBSPC,R14_abt,#4數(shù)據(jù)中止:由數(shù)據(jù)存儲器引起的中止異常。當發(fā)生數(shù)據(jù)中止異常時,異常會在“導(dǎo)致異常的指令〞執(zhí)行后的下一條指令發(fā)生。在這種情況下,理想的狀況是進入數(shù)據(jù)中止異常的ISR,然后在內(nèi)存中挑選出問題,再重新執(zhí)行導(dǎo)致異常的指令。在修復(fù)產(chǎn)生中止的原因后,不管處于哪種處理器操作狀態(tài),處理程序都必須執(zhí)行下面的返回指令:SUBSPC,R14_abt,#8Thumb和ARM指令集的關(guān)系〔第4講PPT中P131〕Thumb指令集具有靈活、小巧的特點,ARM指令集支持ARM核所有的特性,具有高效、快速的特點。ARM指令集長度為4字節(jié)〔32位,低密度指令集〕,Thumb為2字節(jié)〔16位,高密度指令集〕。Thumb是ARM的子集,在任何一種工作狀態(tài)可以通過指令切換到另一種工作狀態(tài)。ARM和Thumb之間的狀態(tài)切換不影響處理器工作模式和存放器中的內(nèi)容。加電起動時處理器工作在ARM狀態(tài)。Thumb指令集與ARM指令集的相似處:Thumb指令的格式與使用方式與ARM指令集類似,它也具有以下種類的指令:存儲器訪問指令數(shù)據(jù)處理指令分支指令雜項指令偽指令Thumb指令集與ARM指令集的區(qū)別:Thumb指令集較ARM指令集有如下限制:只有B指令可以條件執(zhí)行,其它指令都不能條件執(zhí)行;分支指令的跳轉(zhuǎn)范圍有更多限制;數(shù)據(jù)處理指令的操作結(jié)果必須放入其中一個操作數(shù)存放器;單存放器訪問指令,只能操作R0~R7;LDM和STM指令可以對R0~R7的任何子集進行操作;ARM處理器尋址方式,分別舉例說明〔第4講PPT中P9〕ARM處理器具有8種根本尋址方式:1.存放器尋址:操作數(shù)的值在存放器中,指令中的地址碼字段指出的是存放器編號,指令執(zhí)行時直接取出存放器值來操作。存放器尋址指令舉例如下:MOVR1,R2 ;將R2的值存入R1SUBR0,R1,R2;將R1的值減去R2的值,結(jié)果保存到R02.立即尋址:立即尋址指令中的操作碼字段后面的地址碼局部即是操作數(shù)本身,也就是說,數(shù)據(jù)就包含在指令當中,取出指令也就取出了可以立即使用的操作數(shù)(這樣的數(shù)稱為立即數(shù))。立即尋址指令舉例如下:SUBS R0,R0,#1;R0減1,結(jié)果放入R0,并且影響標志位MOV R0,#0xFF00;將立即數(shù)0xFF00裝入R0存放器3.存放器移位尋址:存放器移位尋址是ARM指令集特有的尋址方式。當?shù)?個操作數(shù)是存放器移位方式時,第2個存放器操作數(shù)在與第1個操作數(shù)結(jié)合之前,選擇進行移位操作。存放器移位尋址指令舉例如下:MOVR0,R2,LSL#3 ;R2的值左移3位,結(jié)果放入R0,即是R0=R2×8ANDSR1,R1,R2,LSLR3;R2的值左移R3位,然后和R1相“與〞操作,結(jié)果放入R14.存放器間接尋址:存放器間接尋址指令中的地址碼給出的是一個通用存放器的編號,所需的操作數(shù)保存在存放器指定地址的存儲單元中,即存放器為操作數(shù)的地址指針。存放器間接尋址指令舉例如下:LDRR1,[R2] ;將R2指向的存儲單元的數(shù)據(jù)讀出,保存在R1中SWPR1,[R2] ;將存放器R1的值和R2指定的存儲,單元的內(nèi)容交換5.基址尋址:基址尋址就是將基址存放器的內(nèi)容與指令中給出的偏移量相加,形成操作數(shù)的有效地址。基址尋址用于訪問基址附近的存儲單元,常用于查表、數(shù)組操作、功能部件存放器訪問等。基址尋址指令舉例如下:LDRR2,[R3,#0x0C] ;讀取R3+0x0C地址上的存儲單元的內(nèi)容,放入R2STRR1,[R0,#-4]! ;先R0=R0-4,然后把R1的值存放到保存到R0指定的存儲單元6.多存放器尋址:多存放器尋址一次可傳送幾個存放器值,允許一條指令傳送16個存放器的任何子集或所有存放器。多存放器尋址指令舉例如下:LDMIA R1,{R2-R7,R12};將R1指向的單元中的數(shù)據(jù)讀出到R2~R7、R12中(R1自動加4)STMIA R0,{R2-R7,R12};將存放器R2~R7、R12的值保存到R0指向的存儲;單元中(R0自動加4)7.堆棧尋址:堆棧是一個按特定順序進行存取的存儲區(qū),操作順序為“后進先出〞。堆棧尋址是隱含的,它使用一個專門的存放器(堆棧指針SP)指向一塊存儲區(qū)域(堆棧),指針所指向的存儲單元即是堆棧的棧頂。存儲器堆棧可分為兩種:向上生長:向高地址方向生長,稱為遞增堆棧向下生長:向低地址方向生長,稱為遞減堆棧8.相對尋址:相對尋址是基址尋址的一種變通。由程序計數(shù)器PC提供基準地址,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即為操作數(shù)的有效地址。ARM指令的特點〔第4講PPT中P25〕可條件執(zhí)行、可選擇影響標志位、具有非常靈活的第二操作數(shù)靈活的使用第2個操作數(shù)“operand2〞能夠提高代碼效率。它有如下的形式:1.#immed_8r——常數(shù)表達式;該常數(shù)必須對應(yīng)8位位圖,即必須是一個8位的常數(shù)通過循環(huán)右移偶數(shù)位可以得到的數(shù)。例如,0xC000、0x12800000是對的,而0x103C000〔超過8位〕是錯的將立即數(shù)0xFFB賦值給R2:錯:MOV R2,#0xFFB對:MOV R2,#0xFF,LSR28;LSR是邏輯右移n位ORR R2,R2,#0xB2.Rm——存放器方式;3.Rm,shift——存放器移位方式ARM數(shù)據(jù)處理指令有哪幾類?〔第4講PPT中P60〕數(shù)據(jù)處理指令只能對存放器的內(nèi)容進行操作,而不能對內(nèi)存中的數(shù)據(jù)進行操作。所有ARM數(shù)據(jù)處理指令均可選擇使用S后綴,并影響狀態(tài)標志。數(shù)據(jù)處理指令大致可分為3類:數(shù)據(jù)傳送指令:MOV指令將8位圖立即數(shù)或存放器傳送到目標存放器〔Rd〕,可用于移位運算等操作。同類型的指令還有MVN,它可以實現(xiàn)數(shù)據(jù)的非傳遞,即把操作數(shù)取反后送至目標存放器。算術(shù)邏輯運算指令:算術(shù)邏輯運算指令包括“加/減〞以及“與/或/異或〞等指令;局部算術(shù)運算符:ADD:加法運算;ADC:帶進位加法運算;SUB:減法運算;RSB:逆向減法運算;SBC:帶進位減法運算;RSC:帶進位逆向減法運算局部邏輯運算符:AND:邏輯“與〞運算;ORR:邏輯“或〞運算;EOR:邏輯“異或〞運算;BIC:位去除運算比擬指令:比擬指令將兩個數(shù)值進行的特定運算,根據(jù)運算結(jié)果影響CPSR的相關(guān)標志位,用于后面程序的條件執(zhí)行,但是運算結(jié)果不予保存。比擬運算符:CMP:數(shù)值比擬;CMN:負數(shù)比擬;TST:位測試;TEQ:相等測試嵌入式開發(fā)的方法,幾種調(diào)試方式?!?〕目標機-主機,打印調(diào)試信息:打印調(diào)試信息是最根本的調(diào)試方式,實現(xiàn)了類似printf()的標準輸出,在嵌入式系統(tǒng)中,這種輸出的通訊通道可能是串口或者網(wǎng)絡(luò)協(xié)議。在某些系統(tǒng)中,沒有實現(xiàn)標準輸出,這就需要開發(fā)者自己開發(fā)調(diào)試手段?!?〕JTAG調(diào)試:JTAG是JointTestActionGroup的簡稱。JTAG使用邊界掃描〔Boundary-Scan〕的方式調(diào)試:在靠近芯片的輸入輸出管腳上增加一個移位存放器單元,通過這些存放器單元實現(xiàn)對芯片輸入輸出信號的觀察和控制。〔3〕遠程gdb調(diào)試:在遠程GDB調(diào)試中,調(diào)試器是運行在主機〔host,桌面電腦〕的應(yīng)用程序,被調(diào)試的程序是運行在目標〔target〕上。在遠程GDB調(diào)試中,目標機運行GDB效勞器〔Server〕,GDB效勞器通過通信協(xié)議將被調(diào)試程序的運行信息發(fā)送至主機,在主機方面對調(diào)試信息進行分析并控制程序的運行。嵌入式Linux操作系統(tǒng)主要組成局部有哪些。嵌入式Linux一般來說由以下三個局部組成:Bootloader〔引導(dǎo)加載器〕:系統(tǒng)的引導(dǎo)程序,最根本功能是加載linux內(nèi)核并運行。內(nèi)核:經(jīng)過編譯生成的一段可執(zhí)行程序。內(nèi)核運行時可能需要從外部獲取啟動參數(shù)〔由Bootloader提供〕。根文件系統(tǒng):Linux內(nèi)核啟動后首先加載的文件系統(tǒng),但不是Linux系統(tǒng)運行所必需的。書本P400:用戶應(yīng)用程序用戶應(yīng)用程序內(nèi)核效勞存儲器管理進程管理時間管理文件系統(tǒng)管理I/O系統(tǒng)管理底層硬件應(yīng)用程序編程接口設(shè)備驅(qū)動程序接口嵌入式linux的引導(dǎo)方式。啟動加載〔Bootloader〕模式:也稱為“自主〞〔Autonomous〕模式。在這種情況下,Bootloader從目標機上的某個固態(tài)存儲設(shè)備上將操作系統(tǒng)加載到RAM中運行,整個過程并沒有用戶的介入。下載〔Downloading〕模式:目標機上的Bootloader通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機〔Host〕下載文件。該模式通常用于嵌入式產(chǎn)品的設(shè)計、調(diào)試階段。根據(jù)所使用的存儲介質(zhì)和開發(fā)階段的不同,可以采用不同的系統(tǒng)引導(dǎo)方式:使用可固化存儲設(shè)備〔如FLASH〕;使用磁盤設(shè)備;通過網(wǎng)絡(luò)引導(dǎo)。內(nèi)存管理單元的作用它是中央處理器〔CPU〕用來管理虛擬存儲器、物理存儲器的控制線路。同時也負責虛擬地址映射為實際物理地址,以及提供硬件機制的內(nèi)存訪問授權(quán)。Linux操作系統(tǒng)的驅(qū)動類型在Linux操作系統(tǒng)的驅(qū)動程序分成三種類型:字符設(shè)備〔chardevice〕塊設(shè)備〔blockdevice〕網(wǎng)絡(luò)設(shè)備〔netdevice〕ARM程序狀態(tài)存放器各位的功能ARM內(nèi)核包含1個CPSR和5個僅供異常處理程序使用的SPSR。CPSR反映當前處理器的狀態(tài),其包含:4個條件代碼標志(負標志N、零標志Z、進位標志C和溢出標志V);2個中斷禁止位(IRQ禁止與FIQ禁止);5個對當前處理器模式進行編碼的位(M[4:0]);1個用于指示當前執(zhí)行指令的位(ARM指令還是Thumb指令)。各標志位的含義如下:負標志N:運算結(jié)果的第31位值,記錄標志設(shè)置操作的結(jié)果;零標志Z:如果標志設(shè)置的操作為0,那么置位;進位標志C:記錄無符號加法溢出,減法無借位,循環(huán)移位;溢出標志V:記錄標志設(shè)置操作的有符號溢出。bootloader的作用Bootloader是系統(tǒng)啟動后首先運行的程序,對于嵌入式linux操作系統(tǒng)的Bootloader,其最根本的功能是加載linux的內(nèi)核到Ram中并運行。必須具有:初始化RAM處理、初始化串口、檢測處理器類型、設(shè)置Linux啟動參數(shù)。Bootloader一般還具有以下的功能:通訊功能〔串口、網(wǎng)絡(luò)、USB……〕、FLASH相關(guān)功能〔燒寫FLASH,程序固化〕、用戶接口功能實時操作系統(tǒng)的概念,硬實時與軟實時概念。實時操作系統(tǒng)RTOS〔realtimeoperationsystem):是指能支持實時控制系統(tǒng)工作的操作系統(tǒng)?!舶俣劝倏啤呈侵府斖饨缡录驍?shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。順便看看第8題。硬實時:任務(wù)嚴格遵循時間約束,原那么:遲到就是錯誤。通過系統(tǒng)特定的時序得不到滿足,將會引起災(zāi)難性的后果。軟實時:盡最大努力滿足截止時間需求。通過系統(tǒng)特定的時序得不到滿足,系統(tǒng)的性能會嚴重下降。書本P404:通用操作系統(tǒng):通用操作系統(tǒng)的內(nèi)核是非常通用的,其中包含了執(zhí)行通用應(yīng)用程序所需的所有類型的效勞。就其行為而言,通用操作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政程序的規(guī)范與執(zhí)行試題及答案
- 中國文化遺產(chǎn)的保護試題及答案
- 行政法學測試知識的試題及答案
- 2025年執(zhí)業(yè)護士職業(yè)風險管理試題及答案
- 從容應(yīng)對護士考試的試題及答案
- 2025年衛(wèi)生資格考試的適應(yīng)性備考試題及答案
- 行政法學實踐中的挑戰(zhàn)試題與答案
- 藥師工作中的法律責任簡析試題及答案
- 中國處方集附錄簡介課件
- 2025年行政管理考試的關(guān)鍵試題及答案
- GB/T 17737.4-2013同軸通信電纜第4部分:漏泄電纜分規(guī)范
- GB/T 17620-2008帶電作業(yè)用絕緣硬梯
- 檔案管理學(本科)(全)課件
- 學校國家義務(wù)教育質(zhì)量監(jiān)測應(yīng)急預(yù)案(三頁)
- 領(lǐng)取門診使用免費基本藥品治療嚴重精神障礙患者知情同意書
- 吉林市富源石材有限公司三佳子飾面花崗巖及周邊礦區(qū)礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案
- 2022年上海奉賢經(jīng)濟發(fā)展有限公司招聘筆試題庫及答案解析
- 新教材人教版高中數(shù)學必修第二冊全冊教案(教學設(shè)計)
- DB23∕T 440-1996 柞蠶生產(chǎn)技術(shù)規(guī)程
- 藥物溶解與溶出及釋放-精品醫(yī)學課件
- 安徽高中畢業(yè)生登記表(共7頁)
評論
0/150
提交評論