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