ARM體系結構-測試題-答案-20091029_第1頁
ARM體系結構-測試題-答案-20091029_第2頁
ARM體系結構-測試題-答案-20091029_第3頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、專業的嵌入式技術研發、推廣、培訓、認證機構專業的嵌入式技術研發、推廣、培訓、認證機構ARM 體系結構ARM 階段測試題答案1、 請簡述 ARM 處理器的特點,至少說出 5 個以上的特點。(5 分):低功耗;低成本,高性能,RISC 結構;指令定長;支持 Thumb(16 位)/ARM(32 位)雙指令集; 體積小;2、 請寫出 ARM 內核和 ARM SoC 處理器的異同,并舉例進行說明。(5 分)內核是ARM SoC ARM SoC 都采用ARM SoC 主要是在ARM 內核基礎上繼承了Memory Controller GPIO,USB,IIC,LCD 。3、 ARM 內核有多少種工作模式

2、?請寫出這些工作模式的英文縮寫(7 分):ARM 有 7 種工作模式,usr、sys、svc、irq,abt,und、fiq。4、 ARM 內核有多少個寄存器,請列舉出這些寄存器的名字和數量(5 分)ARM 有37 1)R0-R,共8 個2)分組寄存器R8-R1,其中FIQ 模式下有單獨的一組R8-R12 5 6 種模式共用一組R8-R125 ,USR SYS 模式共用一組R13-R1,共2 個,另外5 種模式下各有獨自的一組R13-R1,共10 個(程序計數器PC 即R15 寄1 (狀態寄存器CPS5 個備份狀態寄存器SPS6 ARM 總計37 個寄存器。 5、 ARM 3 個寄存器有特殊功

3、能和作用,請寫出它們的名字和作用(6 分) 序執行 BL 前地址。6、 請描述一下 CPSR 寄存器中相關Bit 的情況和作用。(5 分)(指令進行算術運算后的結果是否有進位,借位等I(IRQ異常允許位F(FIQ允許位T ARM/Thumb工作狀態(處理器工作模式)7、請寫出以下相關ARM(7分)MOV R0, PC把PC 的值傳送到 R0 寄存器,此時PC 地址為當前指令位置ADD R0, R1, #1把R1 加上1 的結果給R0寄存器LDRR0, =0 x56000010是偽指令,把0 x56000010 放到R0 寄存器中,采用文字池技術LDRPC, PC, #4把當前PC 值加4 位置

4、的內容賦值給PC,實現絕對跳轉 MRSR0, CPSR把CPSR的值傳送給R0BLLOOP帶返回地址的跳轉指令,把下一條指令給LR 后,跳轉到Loop 地址STMFDR13!,R0-R12壓棧指令把R0 到R12 寄存器的值通過R13 棧指針進行壓棧保存同時這個棧是滿遞減方式的棧。8、 什么是立即數?請簡要描述立即數在使用時有什么注意要點(2 分),在使用時注意指令32 12 12 8 B,4 位表示譯為的數,按照把B 循環右移M*2 位32 0立即數時,要注意其是否合法。9BL LR 寄存器保存的是什么內容?并請簡述原因(3 分)BL 跳轉時,LR 中保存的是執行BL PC-4。LR 用來在

5、需要返回程序時從LR 中還原程序執行的位置繼續執行。10、 請描述一下什么是處理器現場,如何進行保存現場?(5 分)R0-R15,CPSR 這 17 ,程序的執行當前狀態就保存在這些寄存器中, 稱為用處理器寄存器中的值被破壞,所以需要保存原模式下的處理器現場,利用 STM ,把處理器現場對應的寄存器保存到棧上,待還原時再出棧恢復(模式和返回地址。其中保存現場的工作,專業的嵌入式技術研發、推廣、培訓、認證機構專業的嵌入式技術研發、推廣、培訓、認證機構硬件完成了 CPSR 模式的保存和 PC 返回地址的保存,其他寄存器的保存工作主要依靠軟件壓棧完成, 其中 LR 因為可能被異常處理程序中的BL 跳

6、轉指令修改,所以一般都需要軟件壓棧再保存。11、請描述一下什么是小尾端Littler-Endian 存儲格式,如何編程確定處理器的存儲格式 分小尾:低地址存低字,高地址存高字節。測試按字節打印int 型的 0 x12345678,如是小尾端,則先打78.(通過 union 的方式也可以實現測試是否是小尾端)12、請寫出一條完整的ARM軟件中斷指令,并簡要描述其作用(2 分)SWI 0 x1SWI 使程序的執行流跳轉到異常向量表地址是軟中斷的中斷。一般 SWI 統調用。13、 請描述一下 ARM 體系中異常向量表的概念。(7 分)0 x0 32 8 1 7 個表項7 7 5 B 指令,或者LDR

7、 PC,PC, #? 的方式都可以實現此類跳轉。14 分軟中斷:0 x8。15、 請寫出發生異常后,在進行異常響應時,硬件完成了哪些工作?(5 分)(1硬件自動保存程序的返回地址到要切換的工作模式下的LR (2硬件自動保存到要切換的工作模式下的SPSR 3)修改CPSR 4)映射相應模式下的寄存器()置PC 跳轉到要進入的異常向量表的入口地址。ARM SOC 編程開發16、請寫出一個ARM程序生成的bin文件映像中包含哪些內容?(3 分)ARM 生成的bin :RO,RW 注意 ZI 段一般都不在 bin 文件中占用存儲空間。17、請寫出完整編譯生成bin 文件的命令行:使用文件為 start

8、.smain.c(5分)armasm start.s o start.o armcc c main.c o armlink start.o main.o first start.o o main.axf fromelf bin main.axf o main.bin18armlink 3 (3 分)-first 始首先執行;-ro-base RO 段采用的內部加載基址;-rw-base RW 地址。19ARM 處理器上進行一次中斷處理和中斷異常處理的差異(3 分)應Pending 在進入中斷處理程序一開始就清除。20、 請寫出從中斷異常進行返回時,軟件編程要處理的事項和注意要點(2 分)LR

9、PC 同時)21S3C2440 開發板實驗過程中進行串口初始化的流程和要點(5 分)時鐘頻率設置MPL,PCLK 的設置,串口數據位8 位,停止位1 根據PCLK 代入公式進行計算等22、請詳細描述我們在S3C2440 開發板實驗過程中進行按鍵中斷觸發的流程和要點(8 分) SVC 和IRQ 模式下的SP 棧指針設置IO 管腳復用設置,設置按鈕的觸發模式(下降沿觸發,管腳中斷模式使能,中斷掩碼寄存器屏蔽位打開,清除PND 寄存器中的pending 位,打開CPSR-I 位;23、請說明S3C2440處理器,關于 memory map 的情況(5 分)2440 memory 8 bank,ban

10、k 128Mbank , 1G 用來存放SROM 器件bank7 用來存放SDRAM 器件。24、請詳細描述 bootloader 啟動代碼的設計流程,并說明你目前所實現的bootloader 已經完成功能有哪些,實現中遇到了哪些困難和bug問題? (5分)bootloader 的設計流程:硬件的初始(1)初始化看門狗(2)關中斷(3)設置處理器時鐘(4)初始化SDRAM 器初始化串實現shell 命令解釋器功能提供通過串口的下載功能download 和執行功能go要求能夠講的出你自己實現 bootloader 過程中遇到的實際問題和解決辦法這個很重要25、請說明以下代碼中可能存在的3 個bug,并給出解決辦法(3 分)#define UART_BASE0 x50000000#define UTRSTAT0*(volatile unsigned int *) UART_BASE+0 x10 #define UTXH0*(volatile unsigned int *) UART_BASE+0 x20int main(void)if( UTRSTAT0 & 0 x4 = 0 x4 ) UTXH0 = a;return 0;(1) UART_BASE+0 x10 應該加上括號的優先級比 = (3) if 應該改為while( !(UTRSTAT0 & 0 x4) )附

溫馨提示

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

評論

0/150

提交評論