ARM處理器工作模式實驗報告_第1頁
ARM處理器工作模式實驗報告_第2頁
ARM處理器工作模式實驗報告_第3頁
ARM處理器工作模式實驗報告_第4頁
ARM處理器工作模式實驗報告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、肇 慶 學 院電子信息與機電工程 學院 實驗日期: 2015 年 11 月 30 日班級:12電氣1班 姓名:李俊杰 學號: 19 老師評定:_ _ 實驗二:ARM處理器工作模式實驗一、實驗目的通過實驗掌握學會使用MSR/MRS指令實現(xiàn)ARM處理器工作模式的切換,觀察不同模式下的寄存器,加深對CPU結構的理解。通過實驗掌握ld中如何使用命令行指定代碼段起始地址。二、實驗設備硬件:PC機。軟件:Embest IDE Pr0 2004集成開發(fā)環(huán)境,Windows 98/2000/NT/XP。三、實驗內(nèi)容通過ARM匯編指令,在各種處理器模式下切換并觀察各種模式下寄存器的區(qū)別。掌握ARM不同模式的進入

2、與退出。四、實驗原理1ARM處理器模式ARM體系結構支持表3-2所列的7種處理器模式。在軟件控制下可以改變模式,外部中斷或異常處理也可以引起模式發(fā)生改變。大多數(shù)應用程序在用戶模式下執(zhí)行。當處理器工作在用戶模式時,正在執(zhí)行的程序不能訪問某些被保護的系統(tǒng)資源,也不能改變模式,除非異常發(fā)生。這允許適當編寫操作系統(tǒng)來控制系統(tǒng)資源的使用。 圖2-1除用戶模式外的其他模式稱為“特權模式”,它們可以自由地訪問系統(tǒng)資源和改變模式。其中的5種稱為“異常模式”,即FIQ(Fast Interrupt Request)、IRQ(lnterrupt Request)、管理(Supervisor)、中止(Abort)和

3、未定義(Undefined)。當特定的異常出現(xiàn)時,進入相應的模式。每種模式都有某些附加的寄存器,以避免異常出現(xiàn)時用戶模式的狀態(tài)不可靠。剩下的模式是“系統(tǒng)模式”。僅ARM體系結構V4以及以上的版本有該模式。不能由于任何異常而進入該模式。它與用戶模式有完全相同的寄存器,但它是特權模式,不受用戶模式的限制。它供需要訪問系統(tǒng)資源的操作系統(tǒng)任務使用,但希望避免使用與異常模式有關的附加寄存器。避免使用附加寄存器保證了當任何異常出現(xiàn)時,都不會使任務的狀態(tài)不可靠。2程序狀態(tài)寄存器3.2節(jié)提到的程序狀態(tài)寄存器CPSR和SPSR包含了條件碼標志、中斷禁止位、當前處理器模式以及其他狀態(tài)和控制信息。每種異常模式都有一

4、個程序狀態(tài)保存寄存器SPSR。當異常出現(xiàn)時,SPSR用于保留CPSR的狀態(tài)。3本實驗涉及到的Id命令行參數(shù)-Ttext org使用org作為輸出文件的text段的起始地址。org必須是十六進制數(shù)。實驗操作步驟(1)參考3.1節(jié)實驗A的步驟(1)建立一個新的工程,命名為ARMMode。(2)參考3.1節(jié)實驗A的步驟(2)和實驗參考程序編輯輸入源代碼。編輯完畢后,保存文件為ARMMode.s。(3)選擇菜單項Project- Add To Project- Files,或在工程管理窗口右擊選擇快搪菜單命令,打開文件選擇對話框,在工程目錄下選擇剛才建立的源文件ARMMode.s。(4)參考3.1節(jié)實

5、驗A的步驟(4)進行相應設置。注意:在鏈接器設置選項卡的Link Options框內(nèi),手動加上“-Ttext Ox0”,即指定代碼段起始地址為Ox0,如圖3-8所示。(5)參考3.1節(jié)實驗A的步驟(5)生成目標代碼。(6)在調(diào)試設置選項卡中的Download address文本框內(nèi),輸入的下載地址應該與鏈接器設置中指定的代碼段起始地址相同,以保證程序能夠正常執(zhí)行,如圖3-9所示。(7)選擇菜單項DebugRemote Connect連接軟件仿真器,執(zhí)行Download命令下載程序,并打開寄存器窗口。(8)單步執(zhí)行,觀察并記錄寄存器RO和CPSR值的變化,以及每次變化后執(zhí)行寄存器賦值后36個寄存

6、器值的變化情況,尤其注意各個模式下R13和R14的值。結合實驗內(nèi)容和相關資料,觀察程序運行,通過實驗加深理解ARM各種狀態(tài)下寄存器的使用。理解和掌握試驗后,完成實驗練習題。圖2-2 五、實驗結果圖2-3 系統(tǒng)模式圖2-4 快中斷模式圖2-5管理模式圖2-6中止模式圖2-7普通中斷圖2-8未定義模式實驗參考程序.global _start.text_start: #-Setup interrupt/exception vectorsBReset_HandlerUndefined_Handler:BUndefined_Handler BSWI_HandlerPrefetch_Handler: BP

7、refetch_HandlerAbort_Handler: BAbort_Handler NOPIRQ_Handler:BIRQ_HandlerFIQ_Handler:BFIQ_HandlerSWI_Handler:MOV pc,lrReset_Handler: # into System modeMRS r0,CPSR /* 讀CPSR值 */ BIC r0,r0,#0x1f /* 清低5位 */ORR r0,r0,#0x1f /* 將模式設為系統(tǒng)模式 */MSR CPSR,r0 /*將r0寫入CPSR */MOV r0,#1 /*在系統(tǒng)模式初始化寄存器*/MOV r1,#2MOV r2,#

8、3MOV r3,#4MOV r4,#5MOV r5,#6MOV r6,#7MOV r7,#8MOV r8,#9MOV r9,#10MOV r10,#11MOV r11,#12MOV r12,#13MOV r13,#14MOV r14,#15 # into FIQ modeMRS r0,CPSRBIC r0,r0,#0x1fORR r0,r0,#0x11 /*將模式設為快中斷模式*/MSR CPSR,r0MOV r8,#16 /*在快中斷模式初始化寄存器 */MOV r9,#17MOV r10,#18MOV r11,#19MOV r12,#20MOV r13,#21MOV r14,#22 # i

9、nto SVC modeMRS r0,CPSRBIC r0,r0,#0x1fORR r0,r0,#0x13 /*將模式設為管理模式*/ MSR CPSR,r0MOV r13,#23 /*在管理模式初始化寄存器*/MOV r14,#24 # into Abort modeMRS r0,CPSRBIC r0,r0,#0x1fORR r0,r0,#0x17 /*將模式設為中止模式*/MSR CPSR,r0MOV r13,#25 /*在中止模式初始化寄存器*/MOV r14,#26# into IRQ modeMRS r0,CPSRBIC r0,r0,#0x1fORR r0,r0,#0x12 /* 將模式設為普通中斷模式*/MSR CPSR,r0MOV r13,#27 /* 在普通中斷模式初始化寄存器*/MOV r14,#28# into UNDEF modeMRS r0,CPSRBIC r0,r0,#0x1fORR r0,r0,#0x1b /*將模式設為未定義模式*/MSR CPSR,

溫馨提示

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

最新文檔

評論

0/150

提交評論