當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 入門指導(dǎo) > arm嵌入式期末考試題,大神精心總結(jié)
對(duì)于arm嵌入式學(xué)習(xí)來(lái)說(shuō),他不簡(jiǎn)單,也不很難,在這里你就要學(xué)會(huì)arm嵌入式學(xué)習(xí)方法那就很容易了,很多人都很頭疼arm嵌入式期末考試,因?yàn)檫@是對(duì)你學(xué)習(xí)的一個(gè)檢測(cè),有些人學(xué)的不是很踏實(shí),就會(huì)覺(jué)得很煩惱,在這里大神總結(jié)了arm嵌入式各類考試題型,可以看看你都會(huì)了沒(méi)。
一、選擇題
1、下面哪個(gè)不是嵌入式操作系統(tǒng)的特點(diǎn)。
( C ) A.內(nèi)核精簡(jiǎn) B.專用性強(qiáng) C.功能強(qiáng)大 D.高實(shí)時(shí)性
2、ARM指令集合Thumb指令集分別是(D )位的。
A.8,16 B.16,32 C.16,16 D.32,16
3、FIQ中斷的入口地址是( A )
A.0x0000001C B.0x00000008 C.0x00000018 D.0x00000014
4、ADD R0,R1,#6,執(zhí)行該指令時(shí)屬于( A)尋址方式。
A.立即尋址 B.多寄存器尋址 C.寄存器直接尋址 D.相對(duì)尋址
5、寄存器R13除了可以用作通用寄存器之外,還可以作為( B )
A.程序計(jì)數(shù)器 B.堆棧指針寄存器 C.鏈寄存器 D.基址寄存器
6、一個(gè)32位字0x12345678,在采用bigEndian存儲(chǔ),在內(nèi)存的排列正確的 是(B)
A.78 56 34 12 B.12 34 56 78 C.87 65 43 21 D.21 43 65 87
7、 CortexA8的工作頻率高達(dá)(1GHZ),定時(shí)器的PLCK的值是( 66MHZ)。
8、 S5PV210內(nèi)部有( 5 )個(gè)定時(shí)器,其中有PWM引腳的有定時(shí)器( T0 T1 T2 T3 ),有死區(qū)功能的有定時(shí)器( T0 T1 )。
9、 占空比就是輸出的PWM中,高電平保持的時(shí)間 與該P(yáng)WM的時(shí)鐘周期的時(shí)間之比。
10、 可以通過(guò)改變高低電平的時(shí)間改變占空比,也可以通過(guò)修改時(shí)鐘周期的時(shí)間改變占 空比。(F) 前面話對(duì),后面話錯(cuò)
11、 ARM 處理器有兩個(gè)級(jí)別的中斷請(qǐng)求,他們分別是( fiq )和( irq )。 ARM上實(shí)現(xiàn)內(nèi)存管理的單元叫( MMU )。
12、 ARM的全稱是( Advanced RISC Machine) 目前常用的嵌入式外圍設(shè)備按功能可以分為( 存儲(chǔ)設(shè)備 )、( 通信設(shè)備 )和( 顯示設(shè)備 )。硬件設(shè)備=嵌入式處理器+外圍設(shè)備 外圍設(shè)備是完成存儲(chǔ)通信調(diào)試顯示等輔助功能的其他部件。目前常用,存儲(chǔ)設(shè)備(ram,sram,flash),通信設(shè)備(rs232接口,),顯示設(shè)備(顯示屏)。
13、 嵌入式linux操作系統(tǒng)屬于免費(fèi)的操作系統(tǒng)。
14、 ARM 有3種含義,它是( 一個(gè)公司名詞 ),是( 一類微處理器通 稱 ),還是( 一種技術(shù) )的名稱。
15、 ARM支持( 大端 )和( 小端 )兩種內(nèi)存模式。
二、填空題
1、ARM9處理器使用了程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)獨(dú)立編址的哈佛結(jié)構(gòu),并采用5級(jí)指令流水線,5級(jí)流水線操作分別是取指、譯碼、執(zhí)指、緩沖和 寫回。
2、ARM微處理器支持字節(jié)、半字、字三種數(shù)據(jù)類型,數(shù)據(jù)的位數(shù)分別為8位、16位、32位,其中字必須以4字節(jié)為邊界對(duì)齊,半字必須以2字節(jié)為邊界對(duì)齊。
3、復(fù)位異常的優(yōu)先級(jí)最高,因此在任何情況下,只要進(jìn)入該狀態(tài)系統(tǒng)無(wú)條件地將PC指向0x00000000處,以執(zhí)行系統(tǒng)第一條指令。
4、嵌入式系統(tǒng)體系結(jié)構(gòu)一般具有馮.諾依曼和哈佛兩種基本形式,且ARM7采用 馮.諾依曼體系結(jié)構(gòu)。
5、從編程角度看,ARM微處理器一般有ARM和Thumb兩種工作狀態(tài)。
三、判斷題
1、無(wú)論何種模式下R15均作為PC使用。 (√)
2、ATPCS中的參數(shù)傳遞規(guī)則只能使用寄存器R0-R3來(lái)進(jìn)行參數(shù)的傳遞。(×)
3、在C語(yǔ)言程序中調(diào)用匯編語(yǔ)言程序的方法是使用EXTERN關(guān)鍵字。(√)
4、ARM7采用3級(jí)指令流水線,即取指令、譯碼和執(zhí)行指令。 (√)
5、Boot Loader 是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。(√)
6、嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境只需要宿主機(jī)和目標(biāo)機(jī)就可以。 (×)
7、ARM指令中“%”后面的數(shù)字為十進(jìn)制數(shù)。 (×)
8、Char *a[5];是數(shù)組指針的聲明格式。 (×)
9、指令A(yù)DD Rd,Rn,#3和指令A(yù)DD Rd,Rn,Rm的尋址方式不同。(√)
10、指令MUL R1,R1,R6是正確的。 (×)
四、簡(jiǎn)答題
1、ARM體系結(jié)構(gòu)的技術(shù)特點(diǎn)是什么?
答:(1)單調(diào)周期操作
(2)采用加載/存儲(chǔ)指令結(jié)構(gòu) (執(zhí)行速度快)
(3)固定32位指令 (結(jié)構(gòu)簡(jiǎn)單、效率高)
(4)地址指令格式 (三地址指令格式,優(yōu)化代碼)
(5)指令流水線技術(shù) (提高執(zhí)行效率)
2、具體說(shuō)明ARM7TDMI中的T、D、M和I代表什么?
答:ARM7TDMI是ARM7系列成員中應(yīng)用最為廣泛的32位高性能嵌入式RISC 處理器內(nèi)核,其中T表示支持高密度16位的Thumb指令集,D表示支持片上 調(diào)試,M代表支持64位乘法,I表示支持EmbededICE調(diào)試硬件。
3、ARM存儲(chǔ)字?jǐn)?shù)據(jù)有兩種方式,即大端格式和小端格式,如有一個(gè)32位字0x12345678存放的起始地址為0x00040000,在兩種格式下分別如何存放?并計(jì)算機(jī)通常情況默認(rèn)為什么格式?
答:大端格式:32位字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址,而字?jǐn)?shù)據(jù)的低字節(jié)存放在高地址中,0x00040000—0x00040003分別存放0x12,0x34,0x56,0x78 小端格式:32位字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在高地址,而字?jǐn)?shù)據(jù)的低字節(jié)存放在低地址中,0x00040000—0x00040003分別存放0x78,0x56,0x34,0x12 系統(tǒng)初始化時(shí)默認(rèn)為小端格式。
4、ARM程序可以使用兩種語(yǔ)言進(jìn)行設(shè)計(jì),一種是匯編語(yǔ)言,一種是C/C++語(yǔ)言,則匯編語(yǔ)言和C/C++語(yǔ)言各自的特色是什么?
匯編語(yǔ)言特點(diǎn):程序執(zhí)行速度快,程序代碼生成量少,但是可讀性差,匯編語(yǔ)言屬于低級(jí)語(yǔ)言,在通常情況下可以使用匯編語(yǔ)言編寫驅(qū)動(dòng)程序、需要嚴(yán)格計(jì)算執(zhí)行時(shí)間的程序以及需要加速執(zhí)行的程序。 C/C++語(yǔ)言:是高級(jí)語(yǔ)言,能夠快速的編寫應(yīng)用程序,有豐富的程序庫(kù)支持,
程序易編寫,具有結(jié)構(gòu)化,程序可讀性強(qiáng),易于修改,便于調(diào)試和維護(hù)。
5、為什么要使用Thumb模式?與ARM代碼相比較,Thumb代碼的兩大優(yōu)勢(shì)是什么?如何完成Thumb指令模式和ARM指令模式之間的切換?
答:ARM體系結(jié)構(gòu)除了支持執(zhí)行效率很高的32位ARM指令集以外,為兼容數(shù)據(jù)總線寬度為16位的應(yīng)用系統(tǒng),也支持16位的Thumb指令集。Thumb指令集是ARM指令系統(tǒng)的一個(gè)子集,允許指令編碼的長(zhǎng)度為16位。與等價(jià)的32位代碼相比較,Thumb指令集在保留32位代碼的優(yōu)勢(shì)的同時(shí),大大節(jié)省系統(tǒng)的存儲(chǔ)空間。由ARM狀態(tài)切換到Thumb狀態(tài)通過(guò)BX指令,當(dāng)操作數(shù)寄存器的最低位為1時(shí),可執(zhí)行BX指令使微處理器進(jìn)入Thumb狀態(tài);當(dāng)操作數(shù)寄存器的最低位為0時(shí),可執(zhí)行BX指令使微處理器進(jìn)入ARM狀態(tài)。
6、ARM對(duì)異常中斷的響應(yīng)過(guò)程:
(1)保存處理器當(dāng)前狀態(tài)、中斷屏蔽位以及各條件標(biāo)志位;
(2)設(shè)置當(dāng)前程序狀態(tài)寄存器CPSR中的相應(yīng)位;
(3)將寄存器lr_mode設(shè)置成返回地址;
(4)將程序計(jì)數(shù)器值PC,設(shè)置成該異常中斷的中斷向量地址,跳轉(zhuǎn)到相應(yīng) 異常中斷處執(zhí)行。
7、ARM 7 種功能模式是什么?
答:(1)用戶模式:正常用戶模式,程序正常執(zhí)行模式。
(2)FIQ模式:處理快速中斷,支持高速數(shù)據(jù)傳送或通道處理。
(3)IRQ模式:處理普通中斷。
(4)SVC模式:操作系統(tǒng)保護(hù)模式,處理軟件中斷。
(5)中止模式:處理存儲(chǔ)器故障,實(shí)現(xiàn)虛擬存儲(chǔ)器和存儲(chǔ)器保護(hù)。
(6)未定義模式:處理未定義的指令陷阱,支持硬件協(xié)處理器的軟件仿真。
(7)系統(tǒng)模式:運(yùn)行特權(quán)操作系統(tǒng)任務(wù)。
五、.程序指令題
1、解釋指令的含義 (1)ORR R0,R2,#0x0FF0000 把R2和數(shù)字常量相或,結(jié)果賦給R0。 (2)LDR R0,[R1,#4] 表示寄存器R1的值加上4作為操作數(shù)的有效地址,將取得的操作數(shù)存入寄 存器R0中。(R0<-[R1+4]) (3)LDR R0,[R1,#4]! 表示寄存器R1的值加上4作為操作數(shù)的有效地址,將取得的操作數(shù)寄存器 R0,再將寄存器R1的值增加4.(R0<-[R1+4],R1<-R1+4) (4)STR R0,[R1],#8 將R0中的字?jǐn)?shù)據(jù)寫入以R1為地址的存儲(chǔ)器中,并將新地址R1+8寫入R1。 (5)SWP R0,R0,[R1] 將R1所指向的存儲(chǔ)器中的字?jǐn)?shù)據(jù)與R0中的字?jǐn)?shù)據(jù)交換。