嵌入式系統(tǒng)原理與接口技術(shù)習(xí)題答案_第1頁
嵌入式系統(tǒng)原理與接口技術(shù)習(xí)題答案_第2頁
嵌入式系統(tǒng)原理與接口技術(shù)習(xí)題答案_第3頁
嵌入式系統(tǒng)原理與接口技術(shù)習(xí)題答案_第4頁
嵌入式系統(tǒng)原理與接口技術(shù)習(xí)題答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式ARM基礎(chǔ)習(xí)題第一章什么是嵌入式操作系統(tǒng)答:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟 / 硬件可裁減,功能???靠性,成本,體積,功耗要求嚴(yán)格的專用計算機系統(tǒng)。與通用計算機相比,嵌入式系統(tǒng)有哪些特點答:(1)嵌入式系統(tǒng)通常是面向特定應(yīng)用的;(2)嵌入式系統(tǒng)是將計算機技術(shù), 半導(dǎo)體技術(shù)和電子技術(shù)與各行各業(yè)的具體應(yīng)用相結(jié)合的 后的產(chǎn)物,是一門綜合技術(shù)學(xué)科;(3) . 嵌入式系統(tǒng)和具體應(yīng)用有機的結(jié)合在一起, 它的升級換代也是和具體產(chǎn)品同步進(jìn)行的, 因此嵌入式產(chǎn)品一旦進(jìn)入市場,就有較長的生命周期;(4). 為了提高執(zhí)行速度和可靠性, 嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片 機本身

2、中,而不是存儲于磁盤等載體中;(5). 嵌入式系統(tǒng)本身不具有自主開發(fā)能力,即使設(shè)計完成以后用戶通常也不能對其中的程序功能進(jìn)行修改,必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。根據(jù)嵌入式的復(fù)雜程度,嵌入式系統(tǒng)可分為哪4 類答:1. 單個微處理器;2. 嵌入式處理器可擴展系統(tǒng);3. 復(fù)雜的嵌入式系統(tǒng);4. 在制造或過程控制中使用的計算機系統(tǒng); 舉例介紹嵌入式處理器有哪幾類答: 1. 嵌入式微處理器( Embedded Microprocessor Unit,EMPU );2. 嵌入式微控制器; ( Embedded Microcontroller Unit,EMCU)3. 嵌入式 DSP 處理器( Em

3、bedded Digital Signal Processor,EDSP);4. 嵌入式片上系統(tǒng)( Embedded System on Chip,EsoC ); 從硬件系統(tǒng)來看,嵌入式系統(tǒng)由哪幾個部分組成畫出簡圖。電源模塊Flash微處理器MPU時鐘RAM復(fù)位ROM外設(shè)USBLCDkeyboardother. 嵌入式系統(tǒng)中,非數(shù)值數(shù)據(jù)編碼主要包括哪幾種答:1. 字符表示;2. 漢字編碼;3. 語音編碼;若在嵌入式系統(tǒng)采用 CRC碼進(jìn)行信息傳輸,接收端接收到的碼字為101011,已知生成多項式 g(x)=1011, 問收到的碼字是否正確出錯的是哪一位解:收到的碼字不正確;出錯的是第 4 位。方

4、法:(將收到的碼字與生成多項式相除,所得結(jié)果為0011。對“ CRC出錯模式(G(x)=1011)可查找出出錯位為第四位) 。第三章編寫 1+2+3+*+100 的匯編程序。AREA EXAMPLE1, CODE,READONLY ; 定義一個代碼段,名稱為;EXAMPLE1ENTRY入口MOV R0,#0MOV R1,#0給 R0 賦值為 0用 R1 來存放 1100 的總和,初 始化為 0START ADD R0,R0,#1;用來判斷終止的,每次加 1ADD R1,R1,R0;從 1 加到 100CMP R0,#100;執(zhí)行 R0-100 的操作,但不保存,;只影響CPSR的值BLTSTA

5、RT;帶符號數(shù)小于時跳轉(zhuǎn)到 START處; 執(zhí)行STOPB STOP;死循環(huán)END如何實現(xiàn) 128 位數(shù)的減法,請舉例說明。AREA EXAMPLE2,CODE,READONLYENTRYSTARTSUBS R5,R5,R9SBCS R4,R4,R8SBCS R3,R3,R7SBCS R2,R2,R6STOPB STOPEND將存儲器中起始地址 M1處的4個字?jǐn)?shù)據(jù)移動到 M2處。AREA EXAMPLE2,CODE,READONLYENTRYLDR R0 ,=0X10;把地址 0X10 賦給 R0LDR R5,=0X20;把地址 0X20 賦給 R5STARTSTMIA R0,R1-R4;把R

6、1到R2的值依次賦給 R0為首地址的內(nèi)存單元中,每次賦完一次值,R0自; 動加 1LDMIA R5,R1-R4;把R1到R4的值依次賦給以 R5為首地;址的內(nèi)存單元中,R5每次自動加1STOPB STOP ; 死循環(huán)END參考CPSR寄存器中各標(biāo)志位的含義,使處理器處于系統(tǒng)模式。AREA EXAMPLE2,CODE,READONLYENTRYSTARTMOV R0,#0X仆;給R0賦值,2進(jìn)制為11111MSR CPSR_c,R0;把CPSR勺條件位置1STOPB STOP;死循環(huán)END用跳轉(zhuǎn)指令實現(xiàn)兩段程序間的來回切換。AREA EXAMPLE5 ,CODE, READONLYENTRYBL

7、 aSTARTCMP R0,R1BNE bBEQ STOPMOV R0,#3MOV R1,#2MOV R15,R14ADD R1,R1,#1B START跳到a對RO, R1,賦值比較 R0, R1 的值不等是跳轉(zhuǎn)到 b相等時跳轉(zhuǎn)到 STOP對 RO, R1 賦值返回;R1自加 1跳轉(zhuǎn)到 STARTSTOPB STOP死循環(huán)END第四章什么是偽指令和偽操作在 ARM匚編中有哪幾種偽指令答:在ARM匚編語言程序中有些特殊助記符,這些助記符與一般指令的助記符的不同之處在于沒有相對應(yīng)的操作碼或者機器碼, 通常稱這些特殊指令助記符衛(wèi)偽指令, 他們多完成 的操作成為偽操作;在ARM匚編中,有如下幾種偽指

8、令:(1) 符號定義偽指令;(2) 數(shù)據(jù)定義偽指令;(3) 匚編控制偽指令;(4) 信息報告?zhèn)沃噶睿?5) 宏指令及其他偽指令。如何定義寄存器列表,試舉一個使用寄存器列表的例子,要求實現(xiàn)4 個字的內(nèi)存復(fù)制。答:AREA EXAMPLE1,CODE,READONLYENTRYLDRR0,=0XFF把地址 0XFF 賦給 R0LDRR5,=0X0F把地址 0X0F 賦給 R5STARTPBLOCKRLIST R1-R4把 R1-R4 定義為 PBLOCKSTMIAR0,PBLOCK把 R1 到 R2 的值依次賦給;R0為首地址LDMIASTOP的內(nèi)存單元中,每次賦完一次R5,PBLOCKSTOP值

9、自動加 1把 R1 到 R4 的值依次賦給以 R5為首地址的內(nèi)存單元中,R5每次自動加 1死循環(huán)END參考CPSR寄存器中各標(biāo)志位的含義,使處理器處于系統(tǒng)模式。AREA EXAMPLE2,CODE,READONLYENTRYSTARTMSR CPSR_c,R0STOPB STOPEND如何定義一個宏,宏與子程序的區(qū)別是什么答:宏的格式為:MARCOS MEND$標(biāo)號 宏名$參數(shù)1,$參數(shù) 2.:指令序列MENDMARCO表示一個宏定義的開始,MEND表示一個宏的結(jié)束, MARCO口 MEND前呼后應(yīng)可以將一段代碼定義為一個整體, 又稱宏, 然后在程序中就可以在程序中通過宏的名稱及參數(shù)調(diào) 用該段

10、代碼。宏指令可以重復(fù)使用, 這一點的使用方式與子程序有些相似, 子程序可以節(jié)省存儲空間, 提供模塊化的程序設(shè)計。 但使用子程序機構(gòu)時需要保存 / 恢復(fù)現(xiàn)場, 從而增加了系統(tǒng)的開銷, 因此, 在代碼傳遞的參數(shù)較多并且比較短時, 可以使用宏代替子程序, 宏在被調(diào)用的地方展 開。匯編中如何定義一個段,段有幾種屬性答:AREA用于定義一個代碼段,數(shù)據(jù)段,或者特定屬性的段。段的幾種屬性如下:READONLY 表示只讀屬性;READWRITE 表示本段可讀寫;CODE 定義代碼段;DATA 定義數(shù)據(jù)段;ALIGN= 表達(dá)式的對齊方式為 2 的表達(dá)式次方; ;COMMON :定義一個通用段,這個段不包含用戶

11、代碼和數(shù)據(jù)。在一個匯編源文件中如何包含另一個文件中的內(nèi)容答:通常可以使用 GET/INCLUDE旨令,在某源文件中定義一些宏指令,用MAP和FIELD定義結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)類型, 用EQU定義常量的符號名稱, 然后用GET/INCLUDE各這個源文件 包含到其他源文件中。分別編寫一個函數(shù)和一個宏,實現(xiàn)字符串的復(fù)制。MACROCOPY $P1,$P2;定義一個宏$P1 DCB HELLO分配一個字節(jié)的空間,并初始化為一個字符串$P2 DCB WORLD! ;LDRR0,=$P1;LDRR6,=$P2;LDRIAR0,R1-R5;實現(xiàn)把 P1 加載到 R0STRIA R6,R1-R5 ;MENDARE

12、A COPY,CODE,READONLYENTRYSTARTMACRO STR1,STR2B START ;END同上把 P1 的首地址加載到把 P2 的首地址加載到把 R0 每載一次,自加一次同理(上)調(diào)用宏死循環(huán)R0R1解釋歸納變量,同族的歸納變量及基本的歸納變量。4. 8試將下面這段 C代碼翻譯為等效的匯編代碼:int Factorial(int)要有以下幾個特點:具有大量的指令和尋址方式;大多數(shù)程序只使用少量的指令就能夠運行。絕大多數(shù)嵌入式處理器:精簡指令系統(tǒng)計算機 (RISC)有一個精簡的指令系統(tǒng)。從而提高了微理器的效率, 但需要更復(fù)雜的外部程序, 也就是把在處理器層沒有完成的工作放

13、到了上層 進(jìn)行,而處理器層少的這些成本可以用對物理器件速度的提高上去。RISC 有下特點:8/2 原則: 80%的程序只使用 20%的指令;采用 Load/store 指令模式,凡數(shù)據(jù)由外存到內(nèi)存、內(nèi)存到寄存器方向的流動統(tǒng)一用Load指令,而對于反方向的操作,都用 store ;用小指令集、多寄存器、指令執(zhí)行簡單快速;統(tǒng)一用單周期指令,從根本上克服了 CISC指令周期數(shù)有長有短、偶發(fā)性不確定、運行失常 的缺點。(4)ARM7 ARM9內(nèi)核處理器各采用幾級流水線,分別是哪幾級流水線結(jié)構(gòu)答:ARM7TDM采用三級流水線,分另為取指令、解碼指令和執(zhí)行操作。ARM9TDM采用5級流水線結(jié)構(gòu),分別為取指

14、令、譯碼、執(zhí)行、存儲、寫操作五級。( 5)從內(nèi)部結(jié)構(gòu)及功能來看,ARM、7 ARM9、 Xscal 內(nèi)核處理器各自有哪些不同,主要應(yīng)用在哪些領(lǐng)域答:ARM7內(nèi) 部結(jié)構(gòu)框圖,包括 Address Register(地址寄存器)、Address In creme nter(地址累加器)、Resister Bank(寄存器塊)、Booth s Multiplier(乘法器)、32 位 ALU單元、Write/Read Data Register (讀 / 寫數(shù)據(jù)寄存器) 、邏輯控制單元等部分。 沒有內(nèi)存管理單片。ARM9TDM處理器內(nèi)核采用 ARM V4T架構(gòu),增加了可用的存儲器寬度、指令存儲器接口

15、以及 數(shù)據(jù)存儲器接口,可以支持16bitThumb指令集和32btiARM指令,ARM9作為高性能的32位RISC處理器內(nèi)核,可以實現(xiàn)對指令和數(shù)據(jù)存儲器的同時訪問。如圖2-9所示為ARM9功能結(jié)構(gòu)圖。主要包含以下結(jié)構(gòu):16KB指令和16KB數(shù)據(jù)緩存;存儲管理單元 MMU這有別于ARM7TDMI一個 AMBA (Advanced Microprocessor Bus Architecture)總線接口;一個 Embedded Trace Macrocell (ETM) 接口。有內(nèi)存管理單元,便于移植操作系統(tǒng)。第3章(1) 試列舉ARM處理器工作模式,各工作模式主要完成怎么樣的功能答:User :

16、用戶模式。絕大部分的任務(wù)執(zhí)行都在這種操作模式下,此為正常的程序執(zhí)行模式。FIQ:快速中斷模式。當(dāng)一個高優(yōu)先級中斷產(chǎn)生時,系統(tǒng)將會進(jìn)入這種操作模式,用于高速 數(shù)據(jù)傳輸和通道處理,由FIQ請求位發(fā)出請求信號。IRQ:普通中斷模式。當(dāng)一個低優(yōu)先級中斷產(chǎn)生時將會進(jìn)入這種操作模式,本模式用于通常 的中斷處理,由IRQ請求位發(fā)出請求信號。Supervisor :管理模式。 當(dāng)復(fù)位或軟中斷指令執(zhí)行時將會進(jìn)入這種操作模式, 是一種可以供 操作系統(tǒng)使用的保護(hù)模式。Abort :中止模式。當(dāng)存取異常時將會進(jìn)入這種操作模式,此模式可以被用作虛擬存儲及存 儲保護(hù),可由ABORT青求位發(fā)出請求信號。Un def :未定

17、義模式。當(dāng)執(zhí)行未定義指令時會進(jìn)入這種操作模式,多被用于軟件仿真硬件協(xié) 處理器時。(2) 試列舉ARM處理器各寄存器功能,在不同的模式下可以訪問哪些寄存器答: 1 個寄存器用作 PC( Program Counter ),即程序寄存器,指向程序執(zhí)行位置。1 個寄存器用作 CPSR( Current Program Status Register ),即當(dāng)前狀態(tài)寄存器,保存當(dāng)前 cpu犬態(tài)。5個寄存器用作 SPSR( Saved Program Status Registers),備份不同模式下 CPSF的值。30 個寄存器作為通用寄存器,存儲數(shù)據(jù)使用。(3) 試說明CPSR寄存器各位功能。答:標(biāo)

18、志位 含 義N N=1 表示運算的結(jié)果為負(fù)數(shù); N=0 表示運算的結(jié)果為正數(shù)或零Z Z=1 表示運算的結(jié)果為零; Z=0 表示運算的結(jié)果為非零C C=1表示有進(jìn)位,C=0表示沒有進(jìn)位V V=1表示符號位溢出,v=o表示結(jié)果沒有溢出Q在ARM vTE/J架構(gòu)支持,指示 DSP指令是否溢出J 僅 ARM 5TE/J 架構(gòu)支持, J = 1 表示處理器處于 Jazelle 犬態(tài)I I=1 表示禁止 IRQF F=1 表示禁止 FIQT 僅 ARMxT 架構(gòu)支持, T = 0 表示處理器處于 ARM 犬態(tài), T=1 表示處理器處于 Thumb 犬態(tài)(4) 試列出ARM處理器常見中斷方式,并說明ARM處

19、理器在響應(yīng)這些中斷時要經(jīng)歷哪些主要步驟答:異常類型 具體含義FIQ當(dāng)處理器的快速中斷請求引腳有效,且CPSF中的F位為0時,產(chǎn)生FIQ異常IRQ當(dāng)處理器的外部中斷請求引腳有效,且CPSF中的I位為0時,產(chǎn)生IRQ異常 異常中斷當(dāng)外部的ABORT俞入產(chǎn)生時,發(fā)生異常斷軟件中斷 該異常由執(zhí)行 SWI 指令產(chǎn)生,可用于用戶模式下的程序調(diào)用特權(quán)操作指令,可使 用該異常機制實現(xiàn)系統(tǒng)功能調(diào)用復(fù)位 當(dāng)處理器的復(fù)位電平有效時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位異常處理程序處執(zhí)行未定義指令 當(dāng)ARM處理器或協(xié)處理器遇到不能處理的指令時,產(chǎn)生未定義指令異常??墒?用該異常機制進(jìn)行軟件仿真ARM處理異常時,將立即通過備份

20、寄存器保存當(dāng)前CPU的狀態(tài)。PC和CPSR寄存器中的內(nèi)容被分別拷貝到 R14和SPSR中,PC和CPSR中的模式位 M0: 4根據(jù)異常類型被強制改變。 在異常中斷處理中, 如果要禁止其它難以管理異常的嵌套, 可以置位中斷標(biāo)志位禁止再次中 斷請求。在需要重復(fù)進(jìn)入中斷處理程序的情況下,R14和SPSR應(yīng)該在中斷被使能之前保存到主存儲的堆棧中;當(dāng)傳送 SPSR寄存器到堆棧或者從堆棧傳送時,需要注意的是必須傳送 整個字( 32 位)。當(dāng)多個異常同時產(chǎn)生時,優(yōu)先級決定異常響應(yīng)的順序。異常處理完畢之后,ARM微處理器將連接寄存器 LR的值減去相應(yīng)的偏移量后送到 PC中,同 時將SPSR復(fù)制回CPSF中,若

21、在進(jìn)入異常處理時設(shè)置了中斷禁止位,要在此清除。(5)為什么說ARM處理器是32位處理器,主要體現(xiàn)在哪些方面, 其匯編采用怎樣的指令編碼格式答:數(shù)據(jù)線 32位,寄存器 32位,編碼 32位。(6)試列出16類指令條件域所對應(yīng)的 CPSR寄存器相應(yīng)位狀態(tài)。答:條件碼 助記符后綴 標(biāo) 志 含 義0000 EQ Z 置位0001 NE Z 清零0010 CS C 置位0011 CC C 清零0100 MI N 置位0101 PL N 清零相等不相等無符號數(shù)大于或等于無符號數(shù)小于負(fù)數(shù)正數(shù)或零0110 VS V 置位 溢出0111 VC V 清零 未溢出1000 HI C置位Z清零 無符號數(shù)大于1001

22、LS C清零Z置位 無符號數(shù)小于或等于1010 GE N 等于 V 帶符號數(shù)大于或等于1011 LT N 不等于 V 帶符號數(shù)小于1100 GT Z清零且(N等于V)帶符號數(shù)大于1101 LE Z 置位或( N 不等于 V) 帶符號數(shù)小于或等于1110 AL 忽略 無條件執(zhí)行(7)ARM處理器主要有哪些類型的尋址方式,各有什么特點 答:立即尋址 寄存器尋址基地址變址尋址寄存器偏移尋址 寄存器間接尋址多寄存器尋址(8) ARM指令和偽指令主要功能是什么在 ARM處理器中,有哪些類型的 ARM指令,試舉例 說明相應(yīng)指令編碼格式, 在ARM匚編程序設(shè)計時,有哪些主要類型的偽指令, 試舉例說明各 類偽

23、指令功能。答:ARM旨令:指示處理器如何工作。偽指令:協(xié)助編譯器。指令略。9)試用匚編程序?qū)崿F(xiàn)求兩個數(shù)中最大數(shù)。答: (10)試用匯編程序?qū)崿F(xiàn) 1100 的加法運算。答:(11)試用匯編程序?qū)崿F(xiàn) 10 的階乘運算。答:(12)完成本章中所有源代碼編寫及調(diào)試。答:第4章(1) 試列舉在進(jìn)行嵌入式軟件開發(fā)時,ARM匚編語言多用來開發(fā)哪些類型的程序。答:Bootloader程序中多采用匯編程序和C語言匯合編程。操作系統(tǒng)中有少部分是匯編程序,絕大部分采用 C 語言編寫,例如 Linux 內(nèi)核。(2) 在使用ADS平臺進(jìn)行嵌入式應(yīng)用程序開發(fā)時,armasm armcc、armcpp、armlink主要

24、功能是什么,如果要編譯 Thumb指令集程序,需要使用哪些命令。答:armasm:此命令用來編譯匯編程序。armcc :用來編譯C程序。armcpp :用來編譯C+-程序。armlink :此命令用來鏈接目標(biāo)文件。(3) 試編寫一段匯編程序,實現(xiàn)64 位加法運算,并使用( 2)中所列工具進(jìn)行編譯鏈接, 生成可執(zhí)行二進(jìn)制代碼。答:(4)在ARM應(yīng)用程序中,在存儲時可執(zhí)行文件主要分為哪幾個部分,在運行時又分成哪幾 個主要部分,各部分主要存儲形式和存儲內(nèi)容是什么答:圖 4-3 存儲態(tài)和運行態(tài)代碼分布(5)使用平臺創(chuàng)建工程項目文件過程是什么,試安裝平臺創(chuàng)建一個工程項目,然后添加相 應(yīng)源代碼,使用 AX

25、D調(diào)試,寫出詳細(xì)操作步驟。答:(6)試編寫一段 C語言與匯編程序的混合程序,在此匯編程序中,實現(xiàn)輸入的任意兩個數(shù) 的整數(shù)除法運算,在 C文件中實現(xiàn)測試。答:(7)試編寫一段C語言與匯編程序的混合程序,在此匯編程序中,實現(xiàn)兩個64位數(shù)的乘法運算,在C文件中調(diào)用該函數(shù)實現(xiàn)測試,要求明確函數(shù)參數(shù)傳遞及返回。答:(8 )為什么要盡可能的遵循 APCS標(biāo)準(zhǔn),有什么好處,在 APCS中,函數(shù)調(diào)用及返回遵循哪 些規(guī)則。答:第5章( 1)從硬件和軟件兩個方面分析一個嵌入式系統(tǒng)主要具備哪些顯著特點2)試列出一個嵌入式設(shè)備在硬件常見的外圍接口及主要功能 答:(3)試列出一個嵌入式設(shè)備在所具備的層次結(jié)構(gòu)以及各層主要功能答:(4)試指出嵌入式軟件開發(fā)和傳統(tǒng)的X86 平臺軟件開發(fā)的差異,常見的嵌入式開發(fā)工具和開發(fā)平臺有哪些答:(5)什么是嵌入式交叉編譯環(huán)境,這種開發(fā)模式有哪些主要特點答:(1)ARM處理器有哪幾種主要的中

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論