ARM嵌入式系統(tǒng)習(xí)題課_第1頁(yè)
ARM嵌入式系統(tǒng)習(xí)題課_第2頁(yè)
ARM嵌入式系統(tǒng)習(xí)題課_第3頁(yè)
ARM嵌入式系統(tǒng)習(xí)題課_第4頁(yè)
ARM嵌入式系統(tǒng)習(xí)題課_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ARM嵌入式系統(tǒng)習(xí)題課第二章ARM7體系結(jié)構(gòu)(7)CPSR寄存器中哪些位用來(lái)定義處理器狀態(tài)?寄存器CPSR為當(dāng)前程序狀態(tài)寄存器,當(dāng)控制位T置位時(shí),處理器處于Thumb狀態(tài),執(zhí)行Thumb指令;當(dāng)控制位T清零時(shí),處理器處于ARM狀態(tài),執(zhí)行ARM指令。(8)描述一下如何禁止IRQ和FIQ的中斷?

標(biāo)志位I和F都是中斷禁止標(biāo)志位,用來(lái)使能或禁止ARM的兩種外部中斷源,具體設(shè)置如下:當(dāng)控制位I置位時(shí),IRQ中斷被禁止,否則允許IRQ中斷使能;

當(dāng)控制位F置位時(shí),F(xiàn)IQ中斷被禁止,否則允許FIQ中斷使能。

2、定義R0=0x12345678,假設(shè)使用存儲(chǔ)指令將R0的值放在0x4000單元中。如果存儲(chǔ)器格式為大端格式,請(qǐng)寫出在執(zhí)行加載指令將存儲(chǔ)器0x4000單元內(nèi)容取出存放到R2寄存器操作后所得R2的值。如果存儲(chǔ)器改為小端格式,所得的R2值又為多少?低地址0x4000單元的字節(jié)內(nèi)容分別是多少?

地址大端模式小端模式0x400378120x400256340x400134560x400012783、請(qǐng)描述一下ARM7TDMI產(chǎn)生異常的條件是什么?各種異常會(huì)使處理器進(jìn)入哪種模式?進(jìn)入異常時(shí)內(nèi)核有何操作?各種異常的返回指令又是什么?

(1)只要正常的程序流暫時(shí)被中止,處理器就會(huì)進(jìn)入異常模式。例如在用戶模式下執(zhí)行程序時(shí),當(dāng)外設(shè)向處理器內(nèi)核發(fā)出中斷請(qǐng)求導(dǎo)致內(nèi)核從用戶模式切換到異常中斷模式。

(2)軟件中斷異常(SWI)、未定義的指令、中止(預(yù)取中止、數(shù)據(jù)中止)、快速中斷(FIQ)、中斷(IRQ)、復(fù)位。

(3)a、將異常處理程序的返回地址(加固定的偏移量)保存到相應(yīng)的異常模式下的LR,異常處理程序完成后的返回可通過(guò)將LR的值減去偏移量后寫入PC;b、將CPSR的當(dāng)前值保存到相應(yīng)異常模式下的SPSR;

c、設(shè)置CPSR為相應(yīng)的異常模式d、設(shè)置PC為相應(yīng)異常處理程序的中斷入口向量地址,跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行。

(4)中斷SUBSPC,R14_irq,#4

快速中斷(FIQ)SUBSPC,R14_fiq,#4

未定義的指令MOVSPC,R14_und

預(yù)取指中止SUBSPC,R14_abt,#4

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

軟件中斷異常MOVSPC,R14_svc

復(fù)位無(wú)

注:“MOVSPC,R14_svc”是指在管理模式下執(zhí)行“MOVSPC,R14”第三章ARM7TDMI(-S)指令系統(tǒng)(1)ARM7TDMI(-S)有幾種尋址方式?“LDRR1,[R0,#0x08]”屬于哪種尋址方式?

答:有8種尋址方式:1.寄存器尋址2.立即尋址3.寄存器移位尋址4.寄存器間接尋址5.基址尋址6.多寄存器尋址7.堆棧尋址8.相對(duì)尋址;“LDRR1,[R0,#0x08]”屬于基址尋址。(3)ARM指令中的第2個(gè)操作數(shù)有哪幾種形式?列舉5個(gè)8位圖立即數(shù)。

答:a.常數(shù)表達(dá)式(8位圖)b.寄存器方式c.寄存器移位方式;

八位位圖即常熟是由一個(gè)八位的常數(shù)循環(huán)移位偶數(shù)位得到的0x3FC、0、0xF0000000、200、0xF0000001。(5)請(qǐng)指出MOV指令與LDR加載指令的區(qū)別及用途?

答:MOV指令的源操作數(shù)是常數(shù)或(帶偏移量的)寄存器,用于寄存器之間的數(shù)據(jù)傳送;LDR指令的源操作數(shù)是地址,用于存儲(chǔ)器到寄存器的數(shù)據(jù)傳送。(6)CMP指令是如何執(zhí)行的?寫一程序,判斷R1的值是否大于0x30,是則將R1減去0x30。

答:CMP指令是將寄存器Rn的值減去operand2的值,根據(jù)操作的結(jié)果更新CPSR中的相應(yīng)條件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來(lái)判斷是否執(zhí)行。

比如:CMP{cond} Rn,operand2CMP R1,#0x30 ;將R1與常數(shù)0x30比較

LDRLEPC,LR;如果小于或等于0x30,則程序返回

SUB R1,R1,#0x30;大于0x30,則將R1減去0x30,結(jié)果存回R1

(7)調(diào)用子程序是用B指令還是用BL指令?請(qǐng)寫出返回子程序的指令。

答:調(diào)用子程序是用BL指令;

MOVPC,LR或BXLR

(8)請(qǐng)指出LDR偽指令的用法。指令格式與LDR加載指令的區(qū)別是什么?答:LDR偽指令用于加載32位的立即數(shù)或一個(gè)地址值到指定的寄存器,它還常用于加載芯片外圍功能部件的寄存器地址(32位立即數(shù)),一實(shí)現(xiàn)各種控制操作,與ARM指令的LDR相比,偽指令的LDR的參數(shù)有“=”號(hào)。比如:LDRR0,=0x123456782、(1)0xFFFF000F(A)+0x0000FFF1(B)--------------------0x00000000NZCV=0110如果兩個(gè)操作數(shù)是有符號(hào)的,A是負(fù)數(shù),B是正數(shù),和是0,沒(méi)有溢出,所以V=0。如果兩個(gè)操作數(shù)是無(wú)符號(hào)數(shù),和是0,有進(jìn)位,所以C=1。(2)0x7FFFFFFF(A)+0x02345678(B)---------------------0x82345677NZCV=1001如果兩個(gè)操作數(shù)是有符號(hào)數(shù),A是正數(shù),B是正數(shù),和是負(fù)數(shù),有溢出,所以V=1。如果兩個(gè)操作數(shù)是無(wú)符號(hào)數(shù),沒(méi)有進(jìn)位,所以C=0。(3)

67654321(A)+23110000(B)-------------------0x0568F421NZCV=0000如果兩個(gè)操作數(shù)是有符號(hào)數(shù),A是正數(shù),B是正數(shù),和是正數(shù),沒(méi)有溢出,所以V=0。如果兩個(gè)操作數(shù)是無(wú)符號(hào)數(shù),沒(méi)有進(jìn)位,所以C=0。第四章LPC2000系列ARM硬件結(jié)構(gòu)(2)請(qǐng)描述LPC2210/2200的P0.14、P1.20、P1.26、BOOT1和BOOT0引腳在芯片復(fù)位時(shí)分別有什么作用?并簡(jiǎn)單說(shuō)明LPC2000系列的ARM7微控制器的復(fù)位流程

答:P0.14的低電平強(qiáng)制片內(nèi)引導(dǎo)裝載程序復(fù)位后控制器件的操作即進(jìn)入ISP狀態(tài)P1.20的低電平使P1.25~1.26復(fù)位后用作跟蹤端口P1.26的低電平使P1.31~1.26復(fù)位后用作一個(gè)調(diào)試端口

當(dāng)芯片在復(fù)位時(shí),BOOT0與BOOT1引腳決定芯片復(fù)位后運(yùn)行片內(nèi)還是片外存儲(chǔ)器上的用戶代。

當(dāng)引腳為低電平時(shí),器件復(fù)位,I/O口和外圍功能進(jìn)入默認(rèn)狀態(tài),處理器從地址零開始執(zhí)行程序,復(fù)位信號(hào)是具有遲滯作用的TTL電平。(3)LPC2000系列ARM7微控制器對(duì)向量表有何要求(向量表的保留字)?

答:向量表所有數(shù)據(jù)32位累加和為零(0x00000000~0x0000001C的8個(gè)字的機(jī)器碼累加),才能脫機(jī)運(yùn)行用戶程序,這是LPC2114/2124/2212/2214的特性(4)如何啟動(dòng)LPC2000系列ARM7微控制器的ISP功能?相關(guān)電路該如何設(shè)計(jì)?

答:有兩種情況可以使用芯片進(jìn)入ISP狀態(tài)(1)將芯片的P0.14引腳拉低后,復(fù)位芯片,可進(jìn)入ISP狀態(tài);(2)在芯片內(nèi)部五有效用戶代碼時(shí),BootBlock自動(dòng)進(jìn)入ISP狀態(tài)。

如果用戶需要使用ISP功能,則可以設(shè)計(jì)一個(gè)跳線將P0.14連接到地,若需要進(jìn)入ISP,將此跳線短接即可,若想要脫機(jī)運(yùn)行程序,將此跳線斷開即可。

(6)若LPC2210/2220的bank0存儲(chǔ)塊使用32位總線,訪問(wèn)bank0時(shí),地址線A1、A0是否有效?EMC模塊中的BLS0~BLS4什么功能?

答:無(wú)效(如果存儲(chǔ)器組配置成16位寬,則不需要A0;8位寬的存儲(chǔ)器組需要使用A0。);字節(jié)定位選擇信號(hào)。

(7)LPC2000系列ARM7微控制器具有引腳功能復(fù)用特性,那么如何設(shè)置某個(gè)引腳為指定功能?P173

答:(8)FIQ、IRQ有什么不同,向量IRQ和非向量IRQ有什么不同?(P189)

答:

向量中斷控制器VIC具有32個(gè)中斷請(qǐng)求輸入,可將其編程分為3類,F(xiàn)IQ,向量IRQ和非向量IRQ。

FIQ(fastinterrptrequest)快速中斷請(qǐng)求要求具有最高優(yōu)先級(jí)。如果分配給FIQ的請(qǐng)求多于一個(gè),VIC將中斷請(qǐng)求相或后向ARM處理器產(chǎn)生FIQ信號(hào)。當(dāng)只有一個(gè)中斷被分配為FIQ時(shí)可實(shí)現(xiàn)最短的FIQ等待,但如果分配給IFIQ級(jí)的中斷多于1個(gè),F(xiàn)IQ服務(wù)程序需要讀取FIQ狀態(tài)寄存器來(lái)識(shí)別產(chǎn)生中斷請(qǐng)求的FIQ中斷源!向量IRQ具有中等優(yōu)先級(jí)。該級(jí)別可分別32個(gè)請(qǐng)求中斷的16個(gè)。32個(gè)請(qǐng)求種的任意一個(gè)都可分配到16個(gè)向量IRQslot中的任意一個(gè),其中slot0具有最高優(yōu)先級(jí)非向量IRQ的優(yōu)先級(jí)最低

(9)在使能、禁止FIQ和IRQ時(shí),為什么操作SPSR寄存器而不操作CPSR寄存器?

答:在用戶模式下,無(wú)法修改CPSR,只有在特權(quán)模式下修改SPSR后,通過(guò)退出特權(quán)模式,然后恢復(fù)SPSR到CPSR,才能實(shí)現(xiàn)修改CPSR。

(10)ARM內(nèi)核對(duì)FIQ、向量IRQ和非向量IRQ的響應(yīng)過(guò)程有何不同?

(11)向量中斷能嵌套嗎?請(qǐng)結(jié)合ARM體系進(jìn)行闡述?

答:能。但需要重新開中斷

(13)設(shè)置引腳為GPIO功能時(shí),如何控制某個(gè)引腳單獨(dú)輸入/輸出?當(dāng)需要知道某個(gè)引腳當(dāng)前的輸出狀態(tài)時(shí),是讀取IOPIN寄存器還是讀取IOSET寄存器

答:使用GPIO引腳輸入/輸出方向控制寄存器IOxDIR;當(dāng)需要知道某個(gè)引腳當(dāng)前的輸出狀態(tài)時(shí),讀取IOPIN寄存器,IOSET是控制引腳輸出搞電平。

(16)LPC2114具有幾個(gè)UART是符合什么標(biāo)準(zhǔn)?哪一個(gè)UART可用作ISP通信?哪一個(gè)UART具有MODEM接口?

答:UART0,UART1;UART0用于ISP通信,UART1具有MODEM接口。二、品計(jì)算榨題假設(shè)輪有一般個(gè)基宿于LP街C2剩11舉4的系爽統(tǒng),猶所使疑用的案晶振除為11碎.0蒼59餅2M剩Hz晶振失。請(qǐng)雁計(jì)算鍛出最響大的訓(xùn)系統(tǒng)喜時(shí)鐘院為多膛少M(fèi)H粱z?此時(shí)PL足L的M值和P值為多精少?戀并編喜寫PL去L的程貧序段解:LP圾C2部21羨4最大枝的系樹統(tǒng)時(shí)竟鐘頻舌率是60內(nèi)MH冤z,F(xiàn)c顯cl依k=M*漢Fo錫sc日=6附0M眾HZFo幕sc=11痛.0矩59墾2M巡壽Hz所以M=深5Fc熟cl淹k=Fo熔sc登*M服=5擱5.違29攔6M情Hz又15蘭6M愁Hz勾<F蹤蝶cc逮o<邁32敏0M置HzP=拾Fc屈c(diǎn)o嬸/(娘Fc苗cl各k*祝2)當(dāng)Fc澡co取15缺6M逗HZ時(shí),P=主1.昨3當(dāng)個(gè)Fc稅co取最廳高頻開率時(shí)匪即32圍0時(shí),P=虜2.脹67所以P=園2程序扎清單草:Ui立nt蘇8疤PL庭LS盟et錯(cuò)(u屬in睛t3察2世Fc舞cl變k,仍u(píng)i燈nt肯32肥F傅os諒c,篇ui型nt臣32鏟F泰cc截o){Ui轎nt春8絲式i;ui終nt娛32洽p鬼ll企da遷t;i摘=文(F胖cc斯o/祥Fc罪cl肆k)搞;sw便it焦ch具(i麥)佛{ca霧se毅2爽:pl危ld雙at侮=(遞(F香cc糞lk醫(yī)/F鄙os喊c)皆-1床)|鉗(0鑰<<閉5)敬;br蠻ea戀k;ca車se將4全:pl烤ld廉a(chǎn)t炸=(賺(F幸cc挺lk匠/F運(yùn)os棵c)求-1生)|擊(1堤<<莖5)醉;br慢ea新k;ca斤se臺(tái)8磁:pl度ld流at啞=(儉(F蔑cc議lk穴/F濱os稍c)神-1纖)|濤(2煉<<青5)礦;br坑ea熔k;ca辨se趁1坡6:pl扇ld塊at棋=(綠(F傷cc裂lk戒/F卡os色c)困-1滴)|茅(3盤<<雕5)滅;br略ea煮k;de原fa獅ul籠t:re貢tu荒rn奶(F芳AL燦SE吳);br悲ea深k;}PL介L(zhǎng)C正ON釀=準(zhǔn)1告;PL毛LC立FG疏=殲p盯ll垃da震

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論