ARM嵌入式系統(tǒng)基礎教程第二版課后習題答案_第1頁
ARM嵌入式系統(tǒng)基礎教程第二版課后習題答案_第2頁
ARM嵌入式系統(tǒng)基礎教程第二版課后習題答案_第3頁
ARM嵌入式系統(tǒng)基礎教程第二版課后習題答案_第4頁
ARM嵌入式系統(tǒng)基礎教程第二版課后習題答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章嵌入式系統(tǒng)概述

⑴舉出3個本書中未提到的嵌入式系統(tǒng)的例子。

答:鍵盤、鼠標、掃描儀。

(2)什么叫嵌入式系統(tǒng)

答:嵌入到對象體系中的專用計算機應用系統(tǒng)。

⑶什么叫嵌入式處理器嵌入式處理器分為哪幾類

答:嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。分為3類:

1.注重尺寸、能耗和價格;2.關注性能;3.關注全部4個需求——性能、尺寸、

能耗和價格。

⑷什么是嵌入式操作系統(tǒng)為何要使用嵌入式操作系統(tǒng)

答:嵌入式操作系統(tǒng)是操作系統(tǒng)的一種類型,是在傳統(tǒng)操作系統(tǒng)的根基上參加符

合嵌入式系統(tǒng)要求的元素開展而來的。原因:1.提高了系統(tǒng)的可靠性;2.提高了

開發(fā)效率,縮短了開發(fā)周期。3.充分發(fā)揮了32位CPU的多任務潛力。

第2章ARM7體系構造

1.根基知識

(1)ARM7TDMI中的T、D、M、I的含義是什么

答:T:高密度16位Thumb指令集擴展;D:支持片上調試;M:64位乘法指

令;I:EmbeddedICE硬件仿真功能模塊。

(2)ARM7TDMI采用幾級流水線使用何種存儲器編址方式

答:3級;馮?諾依曼構造。

(3)ARM處理器模式和ARM處理器狀態(tài)有何區(qū)別

答:ARM處理器模式表達在不同存放器的使用上;ARM處理器狀態(tài)表達在不同

指令的使用上。

⑷分別列舉ARM的處理器模式和狀態(tài)

答:ARM的處理器模式:用戶模式、系統(tǒng)模式、管理模式、中止模式、未定義

模式、中斷模式、快速模式;ARM的處理器狀態(tài):ARM狀態(tài)、Thumb狀態(tài)。

(5)PC和LR分別使用哪個存放器

答:PC:R15;LR:R14o

(6)R13存放器的通用功能是什么

答:堆棧指針SP。

(7)CPSR存放器中哪些位用來定義處理器狀態(tài)

答:位31~28:N、Z、C、V,條件代碼標志位;27~8:保存位;7~0:I、F、

T、M4~0,控制標志位。

(8)描述一下假設何制止IRQ和FIQ的中斷。

答:當控制位I置位時,IRQ中斷被制止,否則允許IRQ中斷使能;當控制位F

置位時,F(xiàn)IQ中斷被制止,否則允許FIQ中斷使能。

2.存儲器格式

答:無論是大端格式還是小端格式,R2的值與R1一致;地址0x4000單元的字

節(jié):大端:0x12、小端:0x78o

3.處理器異常

請描述一下ARM7TDMI產(chǎn)生異常的條件是什么各種異常會使處理器進入哪種模

式進入異常時內核有何操作各種異常的返回指令又是什么

答:

【異常】【模式】【返回指令】

復位管理無

未定義指令未定義MOVSPC.R14

軟件中斷管理MOVSPC,R14

預取指中止中止SUBSPC,R14,#4

數(shù)據(jù)中止中止SUBSPC,R14,#8

IRQ中斷SUBSPC,R14,#4

FIQ快速中斷SUBSPC,R14,#4

進入異常時,內核自動做:PC-LR、CPSR-相應異常模式下的SPSR、設置

CPSR為相應的異常模式、相應異常處理程序的中斷入口向量地址-PC。

第3章ARM7TDMK-S)指令系統(tǒng)

1.根基知識

(1)ARM7TDMI(-S)有幾種尋址方式“LDRR1,[R0,#0x08],z屬于哪種尋址方式

答:有8種尋址方式:1.存放器尋址2.立即尋址3.存放器移位尋址4.存放器間

接尋址5.基址尋址6.多存放器尋址7.堆棧尋址8.相對尋址;"LDR

R1,[R0,#0x08],,屬于基址尋址。

(2)ARM指令的條件碼有多少個默認條件碼是什么

答:16個;ALo

(3)ARM指令中的第2個操作數(shù)有哪幾種形式列舉5個8位圖立即數(shù)。

答:1.常數(shù)表達式(8位圖)2.存放器方式3.存放器移位方式;0x3FC、0、

OxFOOOOOOO,200、0xF00000010

(4)LDR/STR指令的偏移形式有哪4種LDRB指令和LDRSB指令有何區(qū)別

答:1.零偏移2.前索引偏移3.程序相對偏移4.后索引偏移;LDRB:加載無符

號字節(jié)數(shù)據(jù),LDRSB加載有符號字節(jié)數(shù)據(jù)

⑸請指出MOV指令與LDR加載指令的區(qū)別及用途

答:MOV指令的源操作數(shù)是常數(shù)或(帶偏移量的)存放器,用于存放器之間的

數(shù)據(jù)傳送;LDR指令的源操作數(shù)是地址,用于存儲器到存放器的數(shù)據(jù)傳送。

(6)CMP指令是假設何執(zhí)行的寫一程序,判斷R1的值是否大于0x30,是則將

R1減去0x30o

答:CMP指令將Rn-operand2,根據(jù)結果更新CPSR中的相應條件標志位。

CMPR1,0x30

SUBHIR1,0x30

⑺調用子程序是用B指令還是用BL指令請寫出返回子程序的指令。

答:用BL;MOVPC,R14o

(8)請指出LDR偽指令的用法。指令格式與LDR加載指令的區(qū)別是什么

答:用法:LDR{cond}Rd產(chǎn)立即數(shù)/標號+立即數(shù);LDR偽指令的源操作數(shù)是代

表一個常數(shù),LDR加載指令的源操作數(shù)代表一個地址。

(9)ARM狀態(tài)與Thumb狀態(tài)的切換指令是什么請舉例說明。

答:BX;

;從ARM狀態(tài)切換到Thumb狀態(tài)

CODE32

LDRR0,=Lable+1

BXR0

CODE16

LableMOVR1,#12

;從Thumb狀態(tài)切換到ARM狀態(tài)

C0DE16

LDRRO,=Lable

BXRO

CODE32

LableMOVR1,#10

(10)Thumb狀態(tài)與ARM狀態(tài)的存放器有區(qū)別嗎Thumb指令對哪些存放器的訪

問受到一定限制

答:有區(qū)別;R8~R15o

(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條

答:PUSH、POPo

(12)Thumb指令集的BL指令轉移范圍為何能到達±4MB其指令編碼是假設何的

答:BL指令事實上是兩條指令,其編碼為:11110{地址偏移高11位}、11111{地

址偏移低11位},地址編碼22位,再左移一位(半字對齊),23位地址尋址8MB,

g[J±4MBo

2.有符號和無符號加法

答:

(1)

OxFFFFOOOF(A)

+OxOOOOFFF1(B)

(0x00000000)

NZCV=0110

如果兩個操作數(shù)是有符號數(shù),A是負數(shù),B是正數(shù),和是0,沒有溢出,所以V=0。

如果兩個操作數(shù)是無符號數(shù),和是0,有進位,所以C=1。

0x7FFFFFFF(A)

+0x02345678(B)

(0x82345677)

NZCV=1001

如果兩個操作數(shù)是有符號數(shù),A是正數(shù),B是正數(shù),和是負數(shù),有溢出,所以

V=1O

如果兩個操作數(shù)是無符號數(shù),沒有進位,所以c=o。

67654321(A)

+23110000(B)

(0X0568F421)

NZCV=0000

如果兩個操作數(shù)是有符號數(shù),A是正數(shù),B是正數(shù),和是正數(shù),沒有溢出,所以

V=0o

如果兩個操作數(shù)是無符號數(shù),沒有進位,所以C=0o

第五章

1、根基知識:

(1)LPC2114可使用的外部晶振頻率范圍是多少(使用/不使用PLL功能時)

晶振頻率范圍:1~30MHz,假設使用PLL或ISP功能為:10?25MHz。

(2)描述一下LPC2210的PO.14、P1.20、P1.26、BOOT1和BOOTO引腳在芯片復位

時分別有什么作用并簡單說明LPC2000系列ARM7微控制器的復位處理流程。

P0.14的低電平強制片內引導裝載程序復位后控制器件的操作,即進入ISP狀態(tài)。

P1.20的低電平使P1.25-P1.16復位后用作跟蹤端口。

P1.26的低電平使P1.31-P1.26復位后用作一個調試端口。

當RESET為低時,BOOTO與BOOT1一同控制引導和內部操作。引腳的內部上拉確保

了引腳未連接時呈現(xiàn)高電平。

外部復位輸入:當該引腳為低電平時,器件復位,I/O口和外圍功能進入默認狀態(tài),處理器

從地址0開場執(zhí)行程序。復位信號是具有遲滯作用的TTL電平。

(3)LPC2000系列ARM7微控制器對向量表有何要求(向量表中的保存字)

向量表所有數(shù)據(jù)32位累加和為零(0x00000000?0x0000001C的8個字的機器碼累加),

才能脫機運行用戶程序,這是LPC2114/2124/2212/2214的特性。

(4)假設何啟動LPC2000系列ARM7微控制器的ISP功能相關電路應該假設何設計

(5)LPC2000系列ARM7微控制器片內Flash是多位寬度的接口它是通過哪個功能模塊

來提高Flash的訪問速度

128位,通過存儲器加速模塊(MAM)來提高Flash的訪問速度

(6)假設LPC2210的BANK0存儲塊使用32位總線,訪問BANK0時,地址線A1、A0

是否有效EMC模塊中的BLSO-BLS4具有什么功能

無效,(如果存儲器組配置成16位寬,則不需要A0;8位寬的存儲器組需要使用A0。);

字節(jié)定位選擇信號。

(7)LPC2000系列ARM7微控制器具有引腳功能復用特性,那么假設何設置某個引腳為

指定功能

通過引腳功能選擇存放器的設定來設置某個引腳為指定功能

(8)設置引腳為GPIO功能時,假設何控制某個引腳單獨輸入/輸出當前要知道某個引腳當

前的輸出狀態(tài)時,是讀取IOPIN存放器還是讀取IOSET存放器

GPIO方向存放器,IOPIN,

(9)P0.2和P0.3口是12c接口,當設置它們?yōu)镚PIO時,是否需要外接上拉電阻才能輸

出高電平

(10)使用SPI主模式時,SSEL引腳是否可以作為GPIO假設不能,SSEL引腳應假設何

處理

不能用作GPIO,SSEL應設這高電平,處于末激活狀態(tài)。

(11)LPC2114具有幾個UART是符合什么標準哪一個UART可用作ISP通信哪一個

UART具有MODEM接口

UARTO,UART1;UART0用于ISP通信,UART1具有MODEM接口。

(12)LPC2114具有幾個32位定時器PWM定時器是否可以作通用定時器使用

兩個32位定時器,PWM定時器不能用作通用定時器使用

(13)LPC2000系列ARM7微控制器具有哪兩種低耗模式假設何降低系統(tǒng)的功耗

2個低功耗模式:空閑和掉電;

2、計算PLL設置值:

假設有一個基于LPC2114的系統(tǒng),所使用的晶振為11.0592MHZ石英晶振。請計算出最大

的系統(tǒng)時鐘(eels)頻率為多少MHZ此時PLL的M值和P值各為多少請列出計算公式,

并編寫設置PLL的程序段。

3、存儲器重影射:

CDLPC2210具有(4)種存影射模式。

①3②5③1④4

(2)當程序已固化到片內Flash,向量表保存在0x00000000起始處,貝ijMAP(1:0)的

值應該為(2)。

①00②01③10@11

⑶LPC2000系列APM7微控制器ccq重影射的目標起始地址為(),共有(

個字。

①0x00000000,8②0x40000000,8

③0x00000000,16@0x7FFFE000,8

4、外部中斷喚醒掉電設計:

以下代碼是初始化外部中斷0,用它來喚醒掉電的LPC2114,請?zhí)羁铡?/p>

PINSEL0=0x00000000;

PINSELI=(PINSEL1&0XFFFFFFFC)|0X01;〃設置I/O連接,PO.16設置為EINTO

EXTMODE=0X00;//設置EINT0為電平觸發(fā)模式

EXTPOLAR=OXOO;//設置日NT0為低電平觸發(fā)

EXTWAKE=0X01;〃允許外部中斷0喚醒掉電的CPU

EXTINT=0x0F;〃去除外部中斷標識

第四章

程序清單4.1存放器相加

;文件名:TESTI.S

;功能:實現(xiàn)兩個存放器相加

;說明:使用ARMulate軟件仿真調試

AREAExamplel,CODE,READONLY:聲明代碼段Examplel

ENTRY;標識程序入口

CODE32;聲明32位ARM指令

STARTMOVRO,#0:設置參數(shù)

MOVR1,#10

LOOPBLADD_SUB;調用子程序ADD_SUB

BLOOP;跳轉到LOOP

ADD_SUB

ADDSR0,R0,R1;R0=R0+R1

MOVPC,LR;子程序返回

END;文件完畢

程序清單4.2讀取SMI立即數(shù)

T_bitEQU0X20

SWI_Handler

STMFDSP!,{R0_R3,R12,LR};現(xiàn)場保護

MRSR0,SPSR;讀取SPSR

STMEDSP!,{RO};保存SPSR

TSTRO,#T_bit;測試T標志位

LDRNEHRO,[LR,#,2];假設是Thumb指令,讀取指令碼(16

位)

BICNERO,RO,,#OxFFOO;取得Thumb指令的8位立即數(shù)

LDREQRO,[LR-#,4];假設是ARM指令,讀取指令碼〔32

位)

BICEQRO,RO,#OXffOOOOOO;取得ARM指令的24位立即數(shù)

LDMFDSP!,{ROR3,R12,PC);SWI異常中斷返回

程序清單4.3使用IRQ中斷

ENABLEJRQ

MRSRO,CPSR

BICRO,RO,#0x80

MSRCPSR_C,RO

MOVPC,LR

程序清單4.4禁能IRQ中斷

DISABLEJRQ

MRSROCPSR

ORRRO,RO,#0x80

MSRCPSR_C,RO

MOVPC,LR

程序清單4.5堆棧指令初始化

INTSTACK

WOVRO,LR;保存返回地址

;設置管理模式堆棧

MSRCPSR_C,#0xD3

LDRSP,stacksvc

;設置中斷模式堆棧

MSRCPSR_C,#0xD2

LDRSP,Stacklrq

程序清單4.6小范圍地址的加載

ADRRO,DISP_TAB;加載轉換表地址

LDRBR1,[RO,R2];使用R2作為參數(shù),進展查表

DISP_TAB

DCBOxCO,0xF9,0xA4,OxBO,

溫馨提示

  • 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

提交評論