ARM與嵌入式實(shí)驗(yàn)報(bào)告_第1頁(yè)
ARM與嵌入式實(shí)驗(yàn)報(bào)告_第2頁(yè)
ARM與嵌入式實(shí)驗(yàn)報(bào)告_第3頁(yè)
ARM與嵌入式實(shí)驗(yàn)報(bào)告_第4頁(yè)
ARM與嵌入式實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上ARM與嵌入式實(shí)驗(yàn)報(bào)告題 目: ARM與嵌入式實(shí)驗(yàn) 專(zhuān)業(yè)年級(jí):11級(jí)電子信息工程 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 鄭漢麟 2014年5月17日一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用Embest IDE開(kāi)發(fā)環(huán)境及ARM 軟件模擬器;2.掌握簡(jiǎn)單ARM 匯編指令,進(jìn)一步加強(qiáng)對(duì)嵌入式的熟悉和了解。3.了解集成開(kāi)發(fā)環(huán)境Embest IDE及其開(kāi)發(fā)軟件的應(yīng)用。二、 實(shí)驗(yàn)設(shè)備硬件:PC 機(jī)軟件:Embest IDE 開(kāi)發(fā)環(huán)境三、實(shí)驗(yàn)環(huán)境Embest IDE 應(yīng)用于嵌入式軟件開(kāi)發(fā)的新一代圖形化的集成開(kāi)發(fā)環(huán)境,它包括一套完備的面向嵌入式系統(tǒng)的開(kāi)發(fā)和調(diào)試工具。其開(kāi)發(fā)軟件Embest IDE for A

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

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

4、: 選擇Remote設(shè)置對(duì)話(huà)框,按照下圖所示,進(jìn)行配置: 選擇最右邊一個(gè)進(jìn)行編譯,顯示如圖九,則編譯成功。 選擇Project Settings Debug設(shè)置對(duì)話(huà)框,按照?qǐng)D十所示,進(jìn)行配置: 選擇最右邊一個(gè)進(jìn)行編譯。5)選擇菜單項(xiàng)Debug Remote Connect 進(jìn)行連接軟件仿真器,將存儲(chǔ)器地址改為0x1000,如圖,執(zhí)行Debug Download 命令下載程序,并打開(kāi)寄存器窗口。打開(kāi)memory 窗口,按F10進(jìn)行單步跟蹤,觀(guān)察寄存器的數(shù)據(jù)變化并分析。六、各實(shí)驗(yàn)的參考程序及運(yùn)行結(jié)果例2:編寫(xiě)程序?qū)2高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.分析調(diào)試:(1)調(diào)試過(guò)程值: 將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、)結(jié)果分析: R2賦值為 0x和0xff相與得到0x,將R3賦值為0x,在與0xffffff00相與得到0x,再講R2的高8位傳送到R3的低8位得到0x.例3:實(shí)現(xiàn)64位加法運(yùn)算,要求【R1:R0】+【R3:R2】,結(jié)果放回【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位相加,并影響標(biāo)志位*/ADC R1,R1,R3 /*R1等于高32位相加,并加

7、上低位進(jìn)位*/stop: b stop.end2.分析調(diào)試:(1)調(diào)試過(guò)程值: R0賦值為15,轉(zhuǎn)換成16進(jìn)制為000f,R1賦值為26,轉(zhuǎn)換成16進(jìn)制為0019, R2賦值為35,轉(zhuǎn)換成16進(jìn)制為0023, R3賦值為46,轉(zhuǎn)換成16進(jìn)制為002e.download下載: 讀入數(shù)據(jù): R0+R2R0 (低32位): R1+R3R1(帶進(jìn)位的加法):(2)結(jié)果分析: R0,R1,R2,R3分別賦值為0xf,0x.0x,0xe,R0+R2低4位相加結(jié)果存在R0中,R0為0x, R1+R3高位相加再加上低位進(jìn)位1存在R1中,R1為0x.最后得到【R1:R0】例7:編寫(xiě)一段程序計(jì)算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.分析調(diào)試:(1)調(diào)試過(guò)程值: num設(shè)置為10,R0賦值為num即為10,把R0的值給R1,R1也為10.之后執(zhí)行程序。download下載: 第一次執(zhí)行S1,R1=10-1=9,10*9=90,換成16進(jìn)制是5a。 第二次執(zhí)行S1,R1=9-1=8,10*

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

10、bal _start.text.EQU NUM,9_start: LDR R0,=srcstr /*指向源數(shù)據(jù)串R0*/ LDR R1,=dststr /*指向目標(biāo)數(shù)據(jù)串R1*/ mov R3,#NUM /*R3=9*/ mov LR,PC /*返回*/ B strcopy /*調(diào)用串拷貝子程序*/stop: b stop strcopy: LDRB R2,R0,#1 /*裝載字節(jié)同時(shí)更新地址*/ STRB R2,R1,#1 /*存儲(chǔ)字節(jié)同時(shí)更新地址*/ SUBS R3,R3,#1 CMP R3,#0 /*判斷是否結(jié)束*/ BNE strcopy /*不是,則繼續(xù)*/ 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.分析調(diào)試:(1)調(diào)試過(guò)程值: R0指向源字符串,R1指向目標(biāo)字符串,R3的初始值設(shè)為num,即為9 ,將源數(shù)據(jù)存入1,將數(shù)據(jù)加載到R2,將目的數(shù)據(jù)存入1,將數(shù)據(jù)存儲(chǔ)到R2,再將num減去1然后放到R3,繼續(xù)循環(huán)。 download下載:num=9,將num減去1然后放到R3,此時(shí)num=8: num依次減去1,直到num=0,再存放到R3,R3=0X:寄存器的結(jié)果顯示:(2)結(jié)果分析: 每次循環(huán)都使num的值減去1,直到num等于0,R3的值即為num最后的值0,最后結(jié)果為R0=0X=x,R1=0x,R2=0xffffffff,R3=0x.七、過(guò)程中遇到的問(wèn)題 在做ARM 實(shí)驗(yàn)時(shí)遇到了一些問(wèn)題,有時(shí)會(huì)出現(xiàn)下載失敗的情況,比若說(shuō)做錯(cuò)某一步,為改為.s文件,或是Project Source File中未添加.s文件,后面過(guò)程就無(wú)法進(jìn)行下去,下載失敗,另一個(gè)原因就是程序編寫(xiě)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論