ARM與嵌入式實驗報告_第1頁
ARM與嵌入式實驗報告_第2頁
ARM與嵌入式實驗報告_第3頁
ARM與嵌入式實驗報告_第4頁
ARM與嵌入式實驗報告_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上ARM與嵌入式實驗報告題 目: ARM與嵌入式實驗 專業年級:11級電子信息工程 學 號: 姓 名: 指導教師: 鄭漢麟 2014年5月17日一、實驗目的1學習使用Embest IDE開發環境及ARM 軟件模擬器;2.掌握簡單ARM 匯編指令,進一步加強對嵌入式的熟悉和了解。3.了解集成開發環境Embest IDE及其開發軟件的應用。二、 實驗設備硬件:PC 機軟件:Embest IDE 開發環境三、實驗環境Embest IDE 應用于嵌入式軟件開發的新一代圖形化的集成開發環境,它包括一套完備的面向嵌入式系統的開發和調試工具。其開發軟件Embest IDE for A

2、RM 是集編輯器、編譯器、調試器、工程管理器(projectmanager)于一體的高度集成的窗口環境,用戶可以在Embest IDE 集成開發環境中創建工程、編輯文件、編譯、鏈接、運行,以及調試嵌入式應用程序。四、實驗內容例2:編寫程序將R2的高8位傳送到R3的低8位(不考慮R3的其它位);例3:實現64位加法運算,要求【R1:R0】+【R3:R2】,結果放回【R1:R0】中;例7:編寫一段程序計算10!; 例8:字符串拷貝(R1指向源數據串的首地址,R0指向目的數據串的首地址)。四、實驗步驟1) 新建工程:運行Embest IDE 集成開發環境,選擇菜單項File New Workspac

3、e ,如圖一,系統彈出一個對話框,鍵入文件名“ti8”,如圖二,點擊OK 按鈕。將創建一個新工程,并同時創建一個與工程名相同的工作區。此時在工作區窗口將打開該工作區和工程.。2) 建立源文件:點擊菜單項File New,如圖三,系統彈出一個新的文本編輯窗,輸入源文件代碼。編輯完后,保存文件“ti.s”后綴,如下圖。3) 添加源文件:選擇菜單項Project Source Files ,在工程目錄下選擇剛才建立的源文件.s后綴文件,如下圖4) 基本配置:選擇菜單項Project Settings,彈出工程設置對話框。在工程設置對話框中。 選擇Processor 設置對話框,按照下圖所示,進行配置

4、: 選擇Remote設置對話框,按照下圖所示,進行配置: 選擇最右邊一個進行編譯,顯示如圖九,則編譯成功。 選擇Project Settings Debug設置對話框,按照圖十所示,進行配置: 選擇最右邊一個進行編譯。5)選擇菜單項Debug Remote Connect 進行連接軟件仿真器,將存儲器地址改為0x1000,如圖,執行Debug Download 命令下載程序,并打開寄存器窗口。打開memory 窗口,按F10進行單步跟蹤,觀察寄存器的數據變化并分析。六、各實驗的參考程序及運行結果例2:編寫程序將R2高8位傳送到R3的低8位(不考慮R3的其它位);1.程序代碼如下:.global

5、 _start_start:ldr r2,=0xldr r3,=0xand r2,r2,#0xff /*保留R2的高8位,屏蔽低24位*/and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/orr r3,r3,r2,lsr #24 /*將R2的高8位傳送到R3的低8位*/stop: b stop.end 2.分析調試:(1)調試過程值: 將R2賦值為0x,R3賦值為0x, 取R2的高8位,消去R3的低8位, 將R2的高8位傳送到R3的低8位。download下載:保留r2的高8位,屏蔽低24位:保留r3的高24位,屏蔽低8位:將R2的高8位傳送到R3的低8位:(2

6、)結果分析: R2賦值為 0x和0xff相與得到0x,將R3賦值為0x,在與0xffffff00相與得到0x,再講R2的高8位傳送到R3的低8位得到0x.例3:實現64位加法運算,要求【R1:R0】+【R3:R2】,結果放回【R1:R0】中;程序代碼如下:. global _start .text_start: mov R0,#15 /*R0=15*/mov R1,#26 /*R1=26*/mov R2,#35 /*R2=35*/mov R3,#46 /*R3=46*/ADDS R0,R0,R2 /*R0等于低32位相加,并影響標志位*/ADC R1,R1,R3 /*R1等于高32位相加,并加

7、上低位進位*/stop: b stop.end2.分析調試:(1)調試過程值: R0賦值為15,轉換成16進制為000f,R1賦值為26,轉換成16進制為0019, R2賦值為35,轉換成16進制為0023, R3賦值為46,轉換成16進制為002e.download下載: 讀入數據: R0+R2R0 (低32位): R1+R3R1(帶進位的加法):(2)結果分析: R0,R1,R2,R3分別賦值為0xf,0x.0x,0xe,R0+R2低4位相加結果存在R0中,R0為0x, R1+R3高位相加再加上低位進位1存在R1中,R1為0x.最后得到【R1:R0】例7:編寫一段程序計算10!1.程序代碼

8、如下:.global _start.text.equ num,10 _start:mov r0,#nummov r1,r0s1:subs r1,r1,#1 /*把r1-1放入r1*/mul r0,r1,r0 /*r0*r1放入r0*/cmp r1,#1 /*比較R1與1的大小*/beq stopbne s1stop:b stop.end2.分析調試:(1)調試過程值: num設置為10,R0賦值為num即為10,把R0的值給R1,R1也為10.之后執行程序。download下載: 第一次執行S1,R1=10-1=9,10*9=90,換成16進制是5a。 第二次執行S1,R1=9-1=8,10*

9、9*8=720,換成16進制是2d0。 第三次執行S1,R1=8-1=7,10*9*8*7=5040,換成16進制是13b0。 依次執行S1,到R1=1,停止,10*9*8*1=,換成16進制是375f00。(2)結果分析: 第一次執行S1,R1=10-1=9,10*9=90,換成16進制后, R0結果為0xa第二次執行S1,R1=9-1=8,10*9*8=720,換成16進制后,R0結果為0xd0,依次執行S1,到R1=1,停止,10*9*8*1=,換成16進制后,R0結果為0x00375f00。例8:字符串拷貝(R0指向源字符串的首地址,R1指向目的字符串的首地址)。程序代碼如下:.glo

10、bal _start.text.EQU NUM,9_start: LDR R0,=srcstr /*指向源數據串R0*/ LDR R1,=dststr /*指向目標數據串R1*/ mov R3,#NUM /*R3=9*/ mov LR,PC /*返回*/ B strcopy /*調用串拷貝子程序*/stop: b stop strcopy: LDRB R2,R0,#1 /*裝載字節同時更新地址*/ STRB R2,R1,#1 /*存儲字節同時更新地址*/ SUBS R3,R3,#1 CMP R3,#0 /*判斷是否結束*/ BNE strcopy /*不是,則繼續*/ MOV PC,LR /*

11、返回*/.data srcstr: .long 1,2,3,4,5,6,7,8,0 /*定義源字符串*/ dststr: .long 8,7,6,5,4,3,2,1,0 /*定義目的字符串*/2.分析調試:(1)調試過程值: R0指向源字符串,R1指向目標字符串,R3的初始值設為num,即為9 ,將源數據存入1,將數據加載到R2,將目的數據存入1,將數據存儲到R2,再將num減去1然后放到R3,繼續循環。 download下載:num=9,將num減去1然后放到R3,此時num=8: num依次減去1,直到num=0,再存放到R3,R3=0X:寄存器的結果顯示:(2)結果分析: 每次循環都使num的值減去1,直到num等于0,R3的值即為num最后的值0,最后結果為R0=0X=x,R1=0x,R2=0xffffffff,R3=0x.七、過程中遇到的問題 在做ARM 實驗時遇到了一些問題,有時會出現下載失敗的情況,比若說做錯某一步,為改為.s文件,或是Project Source File中未添加.s文件,后面過程就無法進行下去,下載失敗,另一個原因就是程序編寫

溫馨提示

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

評論

0/150

提交評論