最全嵌入式系統(tǒng)復習題.整理._第1頁
最全嵌入式系統(tǒng)復習題.整理._第2頁
最全嵌入式系統(tǒng)復習題.整理._第3頁
最全嵌入式系統(tǒng)復習題.整理._第4頁
最全嵌入式系統(tǒng)復習題.整理._第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 什么是嵌入式系統(tǒng)?其特點有些什么?答: 嵌入式系統(tǒng)是“以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)?!?嵌入式系統(tǒng)通常由嵌入式處理器、外圍設備、嵌入式操作系統(tǒng)、應用軟件等幾大部分組成。嵌入式處理器與通用處理器的最大不同點在其大多工作在為特定用戶群設計的系統(tǒng)。外圍設備包括:存儲器、接口、人機交互。特點:1)是專用的計算機系統(tǒng),用于特定的任務;2)資源較少,可以裁減;3) 功耗低,體積小,集成度高,成本低; 4)使用實時操作系統(tǒng);5) 可靠性要求更高,具有系統(tǒng)測試和可靠性評估體系;6)運行環(huán)境差異大7)大部分程序固化在 ROM中;

2、8) 較長的生命周期;9)嵌入式微處理器通常包含專用調試電路 ARM微處理器的特點低功耗、低成本、高性能(采用RISC體系結構) 原因:采用RISC指令集 使用大量的寄存器 ARM/THUMB指令支持(體現(xiàn)其高效性) 三/五級流水線6個狀態(tài)寄存器,用以標識CPU的工作狀態(tài)及程序的運行狀態(tài),均為32位。q ARM微處理器的工作狀態(tài):ARM狀態(tài) Thumb狀態(tài)(THUMB指令是ARM指令的子集)在開始執(zhí)行代碼時,處于ARM狀態(tài)。BLX 帶返回和狀態(tài)切換的跳轉 BX 帶狀態(tài)切換的跳轉q 除了用戶模式之外的其他6種處理器模式稱為特權模式 特權模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模

3、式的切換。ARM 處理器共有37個寄存器,被分為若干個組,這些寄存器包括:31個通用寄存器,包括程序計數(shù)器(PC 指針),均為32位的寄存器;ARM狀態(tài)下的寄存器組織通用寄存器:通用寄存器包括R0R15,可以分為三類:q 未分組寄存器R0R7(在所有的運行模式下,未分組寄存器都指向同一個物理寄存器,他們未被系統(tǒng)用作特殊的用途)q 分組寄存器R8R14(每次所訪問的物理寄存器與處理器當前的運行模式有關)R13在ARM指令中常用作堆棧指針,但這只是一種習慣用法,用戶也可使用其他的寄存器作為堆棧指針。q 程序計數(shù)器PC(R15) 由于ARM體系結構采用了多級流水線技術,對于ARM指令集而言,PC總是

4、指向當前指令的下兩條指令的地址,即PC的值為當前指令的地址值加8個字節(jié)。 CPSR(當前程序狀態(tài)寄存器),CPSR可在任何運行模式下被訪問,它包括條件標志位、中斷禁止位、當前處理器模式標志位,以及其他一些相關的控制和狀態(tài)位。Thumb狀態(tài)下的寄存器組織q 程序可以直接訪問8個通用寄存器(R7R0)、程序計數(shù)器(PC)、堆棧指針(SP)、連接寄存器(LR)和CPSR。每一種特權模式下都有一組SP、LR和SPSR (備份的程序狀態(tài)寄存器)。ARM微處理器的指令集可以分為六大類 : 跳轉指令 數(shù)據(jù)處理指令 程序狀態(tài)寄存器(PSR)處理指令 加載/存儲指令 協(xié)處理器指令和異常產(chǎn)生指令指令尋址方式:9種

5、1. 寄存器尋址;2. 立即尋址;3. 寄存器移位尋址;4. 寄存器間接尋址;5. 基址尋址;6. 多寄存器尋址;7. 堆棧尋址;8. 塊拷貝尋址;9. 相對尋址;嵌入式系統(tǒng)結構v 一般分為四層:硬件層,中間層,軟件層,功能層 中間層:板級支持包BSP(硬件基本信息,基本程序) 一般是芯片產(chǎn)商提供,需要根據(jù)實驗系統(tǒng)情況進行微調,程序移植的時候很重要 軟件層可分為:設備驅動程序層,實時操作系統(tǒng)層,應用程序接口API層 學習各種硬件使用,基于實時操作系統(tǒng)的程序設計 編寫設備驅動程序 了解實時操作系統(tǒng)的功能及部分工作原理 功能層:為實際應用編寫程序 GPS,MP3,控制系統(tǒng)等v 嵌入式操作系統(tǒng)的功能

6、v 負責嵌入式系統(tǒng)的全部軟硬件的分配和調度工作,控制協(xié)調活動 具有實時性高,穩(wěn)定性強,能獨立自主工作,可根據(jù)應用裁減v 其它功能:強大的網(wǎng)絡接口,友好的人機界面,良好的移植性,幫助文檔多串口標準目前RS-232是PC機與通信工業(yè)中應用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標準。RS-232采取不平衡傳輸方式,即所謂單端通訊。 由于其發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米。RS-232是為點對點(即只用一對收、發(fā)設備)通訊而設計的,其驅動器負載為37k。所以RS-232適合本地

7、設備之間的通信微處理器響應中斷方法:向量法,非向量法向量中斷-由硬件提供中斷服務程序入口地址;非向量中斷-由軟件件提供中斷服務程序入口地址中斷服務寄存器INTPND的操作很特別,它的特別之處就在于對當我們要把該寄存器中某個值為1的位設置為0時 ,往該位寫1。 ucos任務調度:每個任務都處在以下5種狀態(tài)之一的狀態(tài)下,這5種狀態(tài)是休眠態(tài),就緒態(tài)、運行態(tài)、掛起態(tài)(等待某一事件發(fā)生)和被中斷態(tài),不同系統(tǒng),任務的狀態(tài)也不同l 休眠態(tài):相當于該任務駐留在內存中,但并不被多任務內核所調度。l 就緒態(tài):意味著該任務已經(jīng)準備好,可以運行了,但由于該任務的優(yōu)先級比正在運行的任務的優(yōu)先級低,還暫時不能運行。l 運

8、行態(tài):是指該任務掌握了CPU的控制權,正在運行中。l 掛起態(tài):也可以叫做等待事件態(tài)WAITING,指該任務在等待,等待某一事件的發(fā)生,(例如等待某外設的I/O操作,等待某共享資源由暫不能使用變成能使用狀態(tài),等待定時脈沖的到來或等待超時信號的到來以結束目前的等待,等等)。l 中斷狀態(tài):發(fā)生中斷時,CPU提供相應的中斷服務,原來正在運行的任務暫不能運行,就進入了被中斷狀態(tài)。 郵箱是C/OS-II中另一種通訊機制,它可以使一個任務或者中斷服務子程序向另一個任務發(fā)送一個指針型的變量。該指針指向一個包含了特定“消息”的數(shù)據(jù)結構。 消息隊列用于給任務發(fā)消息。消息隊列實際上是郵箱陣列。l 在調用C/OS-的

9、任何其它服務之前,C/OS-要求用戶首先調用系統(tǒng)初始化函數(shù)OSIint()。OSIint()初始化C/OS-所有的變量和數(shù)據(jù)結構 .I2C總線常識I2C總線采用一個雙線式漏極開路接口,可在一根總線上支持多個器件和主控器。所連接的器件只會把總線拉至低電平,而決不會將其驅動至高電平??偩€在外部通過一個電流源或上拉電阻器連接至一個正電源電壓。當總線空閑時,兩條線路均為高電平。在標準模式中,I2C 總線上的數(shù)據(jù)傳輸速率高達100kbit/s,而在快速模式中則高達400kbit/s。I2C總線上的每個器件均由一個存儲于該器件中的唯一地址來識別,并可被用作一個發(fā)送器或接收器(視其功能而定)。除了發(fā)送器和接

10、收器之外,在執(zhí)行數(shù)據(jù)傳輸時,還可把器件視作主控器或受控器。主控器是負責啟動總線上的數(shù)據(jù)傳輸并生成時鐘信號以允許執(zhí)行該傳輸?shù)钠骷?。同時,任何被尋址的器件均被視作受控器。I2C總線的優(yōu)點有哪些?低電流、低功耗,元件價格低廉,硬件寫保護,時鐘和信號用電平觸發(fā),具有高抗噪聲輸入浪涌濾波器,時鐘包含100KHZ和200KHZ兩種模式。只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL;每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址,主機可以作為主機發(fā)送器或主機接收器;它是一個真正的多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防

11、止數(shù)據(jù)被破壞;串行的8 位雙向數(shù)據(jù)傳輸位速率在標準模式下可達100kbit/s,快速模式下可400kbit/s,高速模式下可達3.4Mbit/s; 連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制。ADS集成開發(fā)環(huán)境(ARM Developer Suite)ADS包括了四個模塊分別是:SIMULATOR;C 編譯器;實時調試器;應用函數(shù)庫。ADS1.2提供完整的WINDOWS界面開發(fā)環(huán)境。C編譯器效率極高,支持c 以及c+,使工程師可以很方便的使用C語言進行開發(fā)。提供軟件模擬仿真功能,使沒有Emulators的學習者也能夠熟悉ARM的指令系統(tǒng)。配合FFT -ICE使用,ADS1.

12、2提供強大的實時調試跟蹤功能嵌入式系統(tǒng)開發(fā)的基本流程? 答:1)系統(tǒng)定義與需求分析;2)系統(tǒng)設計方案的初步確立;3)初步設計方案性價比評估與方案評審論證;4)完善初步方案、初步方案實施;5)軟硬件集成測試;6)系統(tǒng)功能性能測試及可靠性測試。1. 嵌入式系統(tǒng)開發(fā)過程分為哪幾個階段?每個階段的特點是什么?(1) 需求分析階段:對問題的識別和分析;制定規(guī)格說明文檔;需求評審特點:采用成熟、易于二次開發(fā)的系統(tǒng)易于節(jié)省時間,從而以最短時間面世。(2) 設計階段:數(shù)據(jù)流分析-劃分任務-定義任務間接口特點:DARTS的設計方法-是結構化設計的擴展,劃分出任務,并提供定義任務間的接口機制,適合設計多個并發(fā)執(zhí)行

13、的任務。(3) 生成代碼階段:代碼編程-交叉編譯和鏈接-交叉調試-測試(單元和集成測試)特點:一般采用的方法是現(xiàn)在通用PC機上編程,然后通過交叉編譯、鏈接,將程序做成目標平臺上可以運行的二進制代碼格式,最后將程序下載到目標平臺上的特定位置,在目標板上啟動這段二進制代碼。(4) 固化階段:嵌入式應用軟件完成以后,編譯器要對源代碼重新編譯一次,以產(chǎn)生固化到目標壞境的可執(zhí)行代碼,再燒到環(huán)境目標環(huán)境的Flash中。 固化的可執(zhí)行代碼和用于調試的可執(zhí)行代碼有些不同。固化用的代碼在目標文件中把調式用的信息都屏蔽掉了。固化后沒有監(jiān)控器執(zhí)行硬件的啟動和初始化,這部分工作必須由固化的程序自己完成,所以啟動模塊必

14、須包含在固化代碼中。特點:程序需要寫入到Flash中固化,保證每次運行后下一次運行無誤,所以嵌入式開發(fā)相比增加了軟件的固化階段。板級支持包(Board Support Package)是操作系統(tǒng)與目標應用硬件環(huán)境的中間接口,它是軟件包中具有平臺依賴性的那一部分。功能:在系統(tǒng)啟動時,對硬件進行初始化;為驅動程序提供訪問硬件的手段。 什么是可編程片上系統(tǒng)? 答:用可編程邏輯技術把整個系統(tǒng)放到一塊硅片上,稱作可編程片上系統(tǒng)SOPC.它是一種特殊的嵌入式系統(tǒng),首先它是SOC,即由單個芯片實現(xiàn)整個系統(tǒng)的主要邏輯功能,具有一般SOC基本屬性;其次,它又具備軟硬件在系統(tǒng)可編程的功能,是可編程系統(tǒng),具有可裁剪

15、、可擴充、可升級等靈活的設計方式。2. 有時要使用Thumb技術的原因答:(Thumb指令集是把32位的ARM指令集的一個子集重新編碼后形成的一個特殊的16位指令集。)在性能和代碼大小之間取得平衡,在需要較低的存儲代碼時采用Thumb指令系統(tǒng)用Thumb指令編寫最小代碼量的程序(能夠很好的解決代碼長度的問題),卻取得以ARM代碼執(zhí)行的最好性能,可以帶來低功耗,小體積,低成本。3. 寄存器R13,R14,R15的專用功能各是什么? 答:1)寄存器R13保存堆棧指針SP;2)寄存器R14用作子程序鏈接寄存器,也稱為LR ,用以保存返回地址;3)R15(PC)用作程序計數(shù)器。4. 寄存器CPSR,S

16、PSR的功能各是什么?答:1)CPSR包含條件碼標志、中斷禁止位、當前處理器模式以及其它狀態(tài)和控制信息。所有處理器模式下都可以訪問當前的程序狀態(tài)寄存器CPSR。2) 在每種異常模式下都有一個對應的物理寄存器程序狀態(tài)保存寄存器SPSR。當異常出現(xiàn)時,SPSR用于保存 CPSR的狀態(tài),以便異常返回后恢復異常發(fā)生時的工作狀態(tài)。5. ARM的異常有哪幾種,各進入何種工作模式?他們退出各采用什么指令?答:1)復位(Reset)異常(管理模式);2)未定義指令(undefined instruction)異常(未定義模式);3)軟件中斷(SWI)異常(管理模式);4)指令預取中止(Prefech Abor

17、t)異常(中止模式);5)數(shù)據(jù)訪問中止(Data Abort)(中止模式);6)快速中斷請求(FIQ)(FIQ模式);7)外部中斷請求(IRQ)(IRQ模式)。異常返回指令:1)SWI,未定義的返回:MOVS PC,R14;2)IRQ,FIQ,預取中止的返回:SUBS PC,R14,#4;3)數(shù)據(jù)中止返回并重新存?。篠UBS PC,R14,#8 異常中斷的優(yōu)先級:復位(最高優(yōu)先級)- 數(shù)據(jù)異常中止-FIQ - IRQ-預取指異常中止-SWI-未定義指令(包括缺協(xié)處理器)。6. ARM的尋址方式有哪些?各寫一條說明。答:1)立即尋址 (1) ADD R0,R0,1/*R0R01*/ (2)ADD

18、R0,R0,0x3f /*R0R00x3f*/;2)寄存器尋址(ADDR0,R1,R2/*R0R1R2*/);3)寄存器間接尋址 (1)、LDR R0,R1/*R0R1*/;(2)STR R0,R1/*R1R0*/;4)基址加偏址尋址(1)、LDR R0,R1,4;R0R14;(2)、LDR R0,R1,4??;R0R14、R1R14;(3)、LDR R0,R1 ,4;R0R1、R1R14 5)堆棧尋址(1)、 STMFD SP! R1-R7,LR;(2)、LDMFD SP! R1-R7,LR;6)塊拷貝尋址(1)、LDMIA R0!, R2-R9;(2)、STMIA R1,R2,R9; 7)相

19、對尋址7. 指令ADR,ADRL、LDR、NOP是如何處理地址值讀入到寄存器中的? 答:ADR是將基于PC或者寄存器的地址值讀入到寄存器的,ADR偽指令通常被替換成一條ADD指令或SUB指令來實現(xiàn)該ADR指令的功能。而ADRL偽指令與ADR指令的最大不同之處是,它可以讀取更大范圍內的地址,而且被編譯器替換成2條數(shù)據(jù)處理指令。LDR將一個32位的立即數(shù)或者一個地址值讀取到寄存器中。大范圍的地址讀取。NOP在匯編時將被替換成ARM中的空操作。8. 指令LDR R1,=0xFFF是如何將立即數(shù)0xfff讀入到R1的?答:由于需要讀取的寄存器的數(shù)據(jù)超過了MOV及MVN指令可操作的范圍,編譯器將該常數(shù)放

20、在數(shù)據(jù)緩沖區(qū)中,同時用一條基于PC的LDR指令讀取該常數(shù)。LDR R1,PC,offset_to_LPOOL.LTORG ;聲明數(shù)據(jù)緩沖池 LPOOL DCD OxFFF; OxFFF放在數(shù)據(jù)緩沖池中。10.嵌入式Linux操作系統(tǒng)的特點。答:廣泛的硬件支持、內核高效穩(wěn)定、開放源碼,軟件豐富、優(yōu)秀的開發(fā)工具、完善的網(wǎng)絡通信和文件管理機制,Linux的進程調度五個狀態(tài)運行態(tài)(分為 執(zhí)行態(tài)、就緒態(tài))、可中斷等待態(tài)、不可中斷等待態(tài)、僵死態(tài)、暫停態(tài)11什么是實時系統(tǒng)?它由哪些特征?如何分類?實時系統(tǒng)是具有實時性且能支持實時控制系統(tǒng)工作的操作系統(tǒng)。其首要任務是調動一切可利用的資源來完成實時控制任務,其次

21、才著眼于提高計算機系統(tǒng)的使用效率,其重要特點是能滿足對時間的限制和要求。實時性:實時系統(tǒng)所產(chǎn)生的結果在時間上有嚴格的要求,只有符合時間要求的結果才是正確的。并行性:要求系統(tǒng)有并行處理能力,以便能同時相應來自不同端口的輸入信號。多路性:對多個不同的現(xiàn)場進行采集,以及對多個對象和多個執(zhí)行實行控制。獨立性:每個用戶向實時系統(tǒng)提出服務請求,相互間是獨立的。在實時控制系統(tǒng)中對信號的采集和對象控制也是獨立的。可預測性:實時系統(tǒng)的實際行為必須處在一定的限度內,而這個限度由系統(tǒng)的定義獲得。 可靠性:一方面指系統(tǒng)的正確性,另一方面指系統(tǒng)的健壯性,即使系統(tǒng)出現(xiàn)錯誤,仍然處于可預測狀態(tài),仍可以安全地帶錯運行和平緩降

22、級它的性能。分類:強實時系統(tǒng)(保質、保量、在限定時間內完成任務)、弱實時系統(tǒng)(沒有限制完成時間)、一般實時系統(tǒng)(強和弱的折中)。1. RTOS由幾部分組成?它由哪些特點?與一般操作系統(tǒng)有何不同?實時內核(主要實現(xiàn)任務管理,定時器管理,存儲器管理、任務間通信與同步,中斷管理等)、網(wǎng)絡組件、文件系統(tǒng)、圖形用戶界面。特點:支持異步事件的響應;中斷和調度任務的優(yōu)先級機制;支持搶占式調度;確定的任務切換時間和中斷延遲時間;支持同步。2. 實時操作系統(tǒng)常用的任務調度算法有哪幾種?基于優(yōu)先級的調度算法:非搶占式調度,搶占式調度同一優(yōu)先級的時間輪轉調度算法(執(zhí)行一段時間無論完成與否,處理器均轉入下一個就緒的同

23、一優(yōu)先級任務)單調速率調度算法(執(zhí)行頻率越高,其優(yōu)先級越高)1. Linux系統(tǒng)的實時調度和普通調度有什么區(qū)別?區(qū)別:Linux 根據(jù)政策從整體上區(qū)分實時進程和普通進程,因為實時進程和普通進程度調度是不同的,它們兩者之間,實時進程應該先于普通進程而運行,然后,對于同一類型的不同進程,采用不同的標準來選擇進程:對于普通進程,Linux采用動態(tài)優(yōu)先調度, Linux中某個進程的調度策略(policy)、優(yōu)先級(priority)等可以作為參數(shù)由用戶自己決定,具有相當?shù)撵`活性。對于實時進程,Linux采用了兩種調度策略,即FIFO(先來先服務調度)和RR(時間片輪轉調度)。因為實時進程具有一定程度的

24、緊迫性,所以衡量一個實時進程是否應該運行,Linux采用了一個比較固定的標準。有兩個優(yōu)先級,實時優(yōu)先級就是用來衡量實時進程是否值得運行的。 2. Linux中從用戶態(tài)進入核心態(tài)的唯一途徑是什么?從用戶態(tài)轉換為核心態(tài)的唯一途徑是中斷。CPU處于用戶態(tài)時,所運行的程序只能執(zhí)行非特權指令,如果用戶程序在用戶態(tài)下執(zhí)行特權指令,將發(fā)生中斷,由操作系統(tǒng)獲得控制。操作系統(tǒng)在核心態(tài)下運行。從核心態(tài)到用戶態(tài)可以通過修改程序狀態(tài)字來實現(xiàn),這將伴隨這由操作系統(tǒng)程序到用戶程序的轉換。1. 寫出ARM使用的各種工作模式和狀態(tài)。 ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM狀態(tài),此時處理器執(zhí)

25、行32位的字對齊的ARM指令;第二種為Thumb狀態(tài),此時處理器執(zhí)行16位的、半字對齊的Thumb指令。在程序的執(zhí)行過程中,微處理器可以隨時在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執(zhí)行代碼時,應該處于ARM狀態(tài)。 ARM處理器模式 ARM微處理器支持7種運行模式,分別為:用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)??焖僦袛嗄J?fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護模式。數(shù)據(jù)訪問終止模式(abt):當數(shù)據(jù)或指令預取終止時進入該模

26、式,可用于虛擬存儲及存儲保護。系統(tǒng)模式(sys):運行具有特權的操作系統(tǒng)任務。定義指令中止模式(und):當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統(tǒng)資源是不能被訪問的。除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況每一種特權模式下都有一組SP、LR和SPSR (備份的程序狀態(tài)寄存器)。1.哪個寄

27、存器用做PC?哪個用做LR?寄存器R14稱為鏈接寄存器LR,它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14則可以用做其他用途。寄存器R15為程序計數(shù)器PC,不能用做其他用途2. ARM與Thumb指令的邊界對準有何不同?用于字訪問的地址通常應當字對準,用于半字訪問的地址通常應當半字對準。ARM執(zhí)行期間是字對準方式,而Thumb指令時半字對準方式。1、ARM7TDMI中的T、D、M、I的含義是什么? 64 位乘法指令(帶M 后綴的)、支持片上調試(帶D 后綴的)、高密度 16 位的Thumb指令機擴展(帶T 后綴的)和EmbededICE 觀察點硬件(帶I 后綴的)2、A

28、RM7TDMI采用幾級流水線?使用何種存儲器編址方式?三級流水線(取指 譯碼 執(zhí)行);使用了馮諾依曼(Von Neumann )結構,指令和數(shù)據(jù)共用一條32 位總線。3、ARM處理器模式和ARM處理器狀態(tài)有何區(qū)別?處理器模式指的是處理器在執(zhí)行程序時在不同時刻所處的不同狀態(tài),處理器狀態(tài)指的是處理器當前所執(zhí)行的指令集。1、基礎知識(1)ARM7TDMI(-S)有幾種尋址方式?LOR R1,R0,#0x08屬于哪種尋址方式?1. 寄存器尋址;2. 立即尋址;3. 寄存器移位尋址;4. 寄存器間接尋址;5. 基址尋址;6. 多寄存器尋址;7. 堆棧尋址;8. 塊拷貝尋址;9. 相對尋址;LOR R1,

29、R0,#0x08屬于基址尋址。(2)ARM指令的條件碼有多少個?默認條件碼是什么? 16條, 默認條件碼是AL。(3)ARM指令中第二個操作數(shù)有哪幾種形式?舉例5個8位圖立即數(shù)。 (1) 立即數(shù);(2) 寄存器;(3) 寄存器及移位常數(shù); 0x3FC(0xFF2)、0、0xF0000000(0xF024)、200(0xC8)、0xF0000001(0x1F28)。(4)LDR/STR指令的偏移形式有哪4種?LDRB和LDRSB有何區(qū)別?(1) 零偏移;(2) 前索引偏移;(3) 程序相對偏移;(4) 后索引偏移。LDRB就是讀出指定地址的數(shù)據(jù)并存入指定寄存器,LDRSB讀出指定地址的數(shù)據(jù),并高

30、24位用符號位擴展,再存入指定寄存器。(5)請指出MOV指令與LDR加載指令的區(qū)別及用途。 MOV 將 8 位圖(pattern)立即數(shù)或寄存器(operand2)傳送到目標寄存器(Rd),可用于移位 運算等操作。讀取指定地址上的存儲器單元內容,執(zhí)行條件AL. MOV指令用于將數(shù)據(jù)從一個寄存器傳送到另一個寄存器中,或者將一個常數(shù)傳送到一個寄存器中,但是不能訪問內存。LDR指令用于從內存中讀取數(shù)據(jù)放入寄存器中。(6)CMP指令的操作是什么?寫一個程序,判斷R1的值是否大于0x30,是則將R1減去0x30。CMP 指令將寄存器Rn 的值減去operand2 的值,根據(jù)操作的結果更新CPSR 中的相

31、應條 件標志位,以便后面的指令根據(jù)相應的條件標志來判斷是否執(zhí)行。 CMP R1,0x30 SUBHI R1,R1,0x30(7)調用子程序是用B還是用BL指令?請寫出返回子程序的指令? BL 指令用于子程序調用。MOV PC, R14(8)請指出LDR偽指令的用法。指令格式與LDR加載指令的區(qū)別是什么?LDR 偽指令用于加載 32 位的立即數(shù)或一個地址值到指定寄存器。第二個數(shù)為地址表達式。(9)ARM狀態(tài)與Thumb狀態(tài)的切換指令是什么?請舉例說明。BX指令,(10)Thumb狀態(tài)與ARM狀態(tài)的寄存器有區(qū)別嗎?Thumb指令對哪些寄存器的訪問受到一定限制?Thumb狀態(tài)下不能更新CPSR 中的

32、ALU 狀態(tài)標志。,Thumb指令對R8R15寄存器訪問受限。(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條? PUSH POP(12)Thumb指令集的BL指令轉換范圍為何能達到4MB?其指令編碼是怎樣的?Thumb 采用兩條16 位指令組合成22 位半字偏移(符號擴展為32 位),使指令轉移范圍為4MB。對于ARM7三級流水線,當一條指令被譯碼時,上一條指令正被()p24取指 譯碼 PC值遞增 執(zhí)行對于ARM7三級流水線,當一條指令被譯碼時,下一條指令正被( )p24取指 譯碼 PC值遞增 執(zhí)行ARM7有(兩種)處理器狀態(tài) ,分別是(ARM)狀態(tài)和(Thumb) 狀態(tài)。P30(用戶模

33、式)是正常程序工作模式,特點是不能(直接)切換到其它模式。(管理模式)是“操作系統(tǒng)保護代碼”,復位和軟中斷響應時進入此模式。系統(tǒng)模式用于支持操作系統(tǒng)的(特權)任務等,與用戶模式類似,但可以(直接)切換到其它模式。在ARM7 (37)個用戶可見寄存器中,有(6)個狀態(tài)寄存器,(31)個通用寄存器。程序計數(shù)器PC是(R15),程序狀態(tài)寄存器是(CPSR),鏈接寄存器LR是(R14),堆棧指針SP是(R13)。P47p49CPSR有若干控制位和若干條件代碼標志構成:T為0 表示處理器工作在(ARM狀態(tài)).CPSR有若干控制位和若干條件代碼標志構成:N為1表示前次運算結果(為負)。CPSR有若干控制位

34、和若干條件代碼標志構成:Z為1表示前次運算結果(為零)。CPSR有若干控制位和若干條件代碼標志構成:C為1表示前次運算產(chǎn)生了(進位/借位)。CPSR有若干控制位和若干條件代碼標志構成:V為1表示前次運算(溢出)。欲使處理器禁止快中斷,則應該使() CPSR的F位為1 CPSR的F位為0 CPSR的I位為1 CPSR的I位為0欲使處理器禁止中斷,則應該使( )CPSR的F位為1 CPSR的F位為0 CPSR的I位為1 CPSR的I位為0異常復習子程序的最后一條指令必須是( )P3MOV PC,R14 MOV PC,R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_ir

35、g,#4中斷服務程序的最后一條指令必須是( )P3MOV PC,R14 MOV PC,R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_irg,#4 快中斷服務程序的最后一條指令必須是( )MOV PC,R14 MOV PC,R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_irg,#4 P3ARM7處理器響應中斷時,處理器硬件修改PC為( )p220x00000000 0x00000000 0x00000018 0x0000001CARM7處理器響應快中斷時,處理器硬件修改PC為( )0x00000000 0x00000000 0x00

36、000018 0x0000001C外部設備向處理器發(fā)出中斷請求,處理器進入( )異常??熘袛?中斷 未定義指令 預取中止ARM7處理器收到快中斷請求,則進入( )異常??熘袛?中斷 未定義指令 預取中止 第四章ARM7的尋址方式有( 9)種。條件碼復習使用指令條件碼可實現(xiàn)高效的邏輯操作,提高代碼效率。指令條件碼表如表4.1所列。指令條件碼表操作碼條件碼助記符標志含義0000EQZ=1相等0001NEZ=0不相等1000HIC=1,Z=0無符號數(shù)大于1001LSC=0,Z=1無符號數(shù)小于或等于ARM指令的條件碼的作用是滿足了(條件)則執(zhí)行指令。處理器從存儲器讀數(shù)據(jù)的指令(加載指令)的助記符是()

37、 LDR STR SWP SWPB 處理器往存儲器寫數(shù)據(jù)的指令(存儲指令)的助記符是(2)LDR STR SWP SWPB將R0+0x12地址處的數(shù)據(jù)讀出,保存到R1中LDR R1,R0,#0x12 將R1中數(shù)據(jù)保存到R0+0x12地址處STR R1,R0,#0x12 將R0+R2地址處的數(shù)據(jù)讀出,保存到R1中LDR R1,R1,R2 將R1中數(shù)據(jù)保存到R0+R2地址處 STR R1,R1,R2 將R0R2地址處的數(shù)據(jù)讀出,保存到R1中LDR R1,R0,R2 將R1中的數(shù)據(jù)保存到R0R2地址處 STR R1,R0,R2 數(shù)據(jù)傳送指令的助記符是()。 MOV SBC ADD SUB 代進位加法

38、指令的助記符是( )ADC SBC ADD SUB代借位減法指令的助記符是( )ADC SBC ADD SUB求R1+R2,和放在R1中ADD R1,R1,R2 求R1R2,差放在R1中SUB R1,R1,R2 求R4R3R2R1,差放在R6R5中SUBS R5,R3,R1SBC R6,R4,R2求R4R3R2R1,和放在R6R5中ADDS R5,R3,R1ADC R6,R4,R2求R4R31,差放在R6R5中SUBS R5,R3,#1SBC R6,R4,#0求R4R31,和放在R6R5中ADDS R5,R3,#1ADC R6,R4,#0將R0最第4位數(shù)據(jù)保留,并影響標志位 ANDS R0,R

39、0,#0x0F將R0的1,3,5位置1ORR R0,R0,#0x2A將R0的1,3,5位置0BIC R0,R0,0x2AR1與99比較,設置相關標志位CMP R1,#99 R1與R2比較,設置相關標志位CMP R1,R2 跳轉到標號waiter處 B waiter前次運算結果為正,轉到標號play處BHI play前次運算結果為非正,轉到標號play處BLS play調用子程序whiet BL whiet前次運算結果為0,調用子程序plyBLEQ ply前次運算結果為非0,調用子程序plyBLNE ply調用子程序是用(BL)指令?子程序返回指令是(MOV PC,R14)編程題:寫一個程序,判斷R1的值是否大于0x30,是則將R1減去0x30。CMP R1,0x30SUBHI R1,R1,0x30編

溫馨提示

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

評論

0/150

提交評論