ADS下簡(jiǎn)單ARM匯編程序試驗(yàn)_第1頁(yè)
ADS下簡(jiǎn)單ARM匯編程序試驗(yàn)_第2頁(yè)
ADS下簡(jiǎn)單ARM匯編程序試驗(yàn)_第3頁(yè)
ADS下簡(jiǎn)單ARM匯編程序試驗(yàn)_第4頁(yè)
ADS下簡(jiǎn)單ARM匯編程序試驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 ADS下簡(jiǎn)單ARM匯編程序?qū)嶒?yàn)實(shí)驗(yàn)?zāi)康模?、熟悉下進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)的基本流程;2、熟悉在ADS中創(chuàng)建工程及編寫、編譯和運(yùn)行匯編語(yǔ)言程序的方法;3、熟悉AXD中各種調(diào)試功能。實(shí)驗(yàn)環(huán)境:1、硬件:PC機(jī)。2、軟件。實(shí)驗(yàn)內(nèi)容:1、在ADS中新建工程,并設(shè)置開發(fā)環(huán)境。2、在Code Warrior 環(huán)境中編輯、編譯和鏈接匯編語(yǔ)言程序,并生成可執(zhí)行文件。3、在AXD中調(diào)試匯編程序;4、使用命令行界面編輯、編譯和鏈接匯編程序。實(shí)驗(yàn)過(guò)程:本實(shí)驗(yàn)要求在 ADS環(huán)境下,編寫一個(gè)匯編程序,計(jì)算S= 1+2+3+n的累加值。把累加結(jié)果S存入到存儲(chǔ)器的指定位置; 在AXD中調(diào)試該程序,使用ARMulato

2、r模擬目標(biāo)機(jī)。1、新建工程。打開 Code Warrior ,選擇 File->New(project) 選項(xiàng),使用 ARMExecutable Image 模版新建 一個(gè)工程。才立LU2、設(shè)置編譯和鏈接選項(xiàng)。由于我們使用的是模擬機(jī),設(shè)置匯編語(yǔ)言編譯器的模擬處理器架構(gòu)為Xscale ;在ARMLinker中,選擇output選項(xiàng)卡并選擇 Linktype 為Simple類型,確認(rèn) ROBase為0x8000,修改RW Base為0x9000,如下圖所示。3、為當(dāng)前工程添加源程序文件。ARM匚編程序源文彳后綴名為 S大小寫均可。確保添加入當(dāng)前工程復(fù)選框選上。4、編輯源程序代碼。參考程序:;

3、armadd源程序N EQU 7;累加次數(shù);定義名為Adding的代碼段AREA Adding,CODE,READONLYENTRYMOV R0,#0MOV R1,#1REPEAT ADD R0,R0,R1ADD R1,R1,#1CMP R1,#NBLE REPEATLDR R2,=RESULTSTR R0,R2HERE B HERE定義名為Dataspace的數(shù)據(jù)段AREA Dataspace,DATA,READWRITERESULT DCD 0END5、編譯匯編源代碼文件。右擊文件,選擇 Compile ,如果沒(méi)有成功會(huì)彈出錯(cuò)誤和警告窗口。£l1* Edit tl” Search

4、 Erojtci Ret叫:i建“ 性L古諭, x +*日宿l. Err0rjr E. Vcruxes© 2Erroori ud «*4n.irip b:r Mrii-Mi rw>! I f Ml 的 If? -> I tUL D '于 »qrtd&T ”L:fsl3:iz:iAdE審程序1 B:-V 7;定丈若內(nèi)MdK弓計(jì)林碼西Am4汕E 0口口也?E<TTTJ£:V當(dāng).用0W:;V Ki.nMFrr k n 工。二口 .£1心UjLL.gL JIC!fP 21 JTHJJLL LZf 注-RESULT9.K

5、 MlR_ 口生成.O目標(biāo)代碼文件。|n|x|It jectGadc文件也】 福常® SS Ip 依藏印 TH III吊勖中后邕*天 支府來(lái)區(qū).Httt (C)k、力:it w匕'咕an* id'- urn 0*_口,13、右此)占*臼 Q ftiti交件加更怦央n勢(shì)口創(chuàng)建一干冊(cè)立坤運(yùn)濟(jì)trr文件泰煙 v«b%共享比工件我u:告:法支於 兵享丈也 或在電隨 M上苧居Ohj i>rtCA4«支/蚊作洗日期”DO沖3月I同14小6、編譯整個(gè)工程。選才i Project?Make進(jìn)行整個(gè)工程的編譯??梢栽谀夸浛臻g查看是否生成了映像文件。 口: iE

6、4j&Ek_T Cod£TMK 1 1 az :F 濟(jì)星 AKU 口,行工 iipfE. Su.14 « V D. 2£l1* Edit ±le- Search frojtcl 口吐2 M建i*i 也Uc也&,電 'H可©倡liTW? Ehd 面尚世翦 EMr 潴r由此4. | *|RK 3sx - 匕9iXDe-cag:1q i爐能附m11cqexks皿三E| 曲3FlIu. "Lia PcbucKcl-|n|x|7、確認(rèn)調(diào)試目標(biāo)設(shè)置。設(shè)置目標(biāo)處理器型號(hào)。AMulator Config;urationptio

7、nsFloating Point EmuhtionE)ebug Endian*' Litle BigStart target Endianf* £ebugEndian H且d削創(chuàng)eEnd后口M&mory Map Fie足 Mo Map FieMap FiteBrovTjseFloating Point Coprocessorfpu: |h6lfpliMMU/PV 歷itialiw前oni EFAULT PAGE TABLES0ICPagetabCancel8、運(yùn)行映像文件。選擇如圖所示按鈕運(yùn)行映像文件,運(yùn)行結(jié)果如下9、調(diào)試準(zhǔn)備在AXD中,打開各個(gè)觀察窗口,做調(diào)試準(zhǔn)備。

8、選擇 Processor Views?Registers 選項(xiàng),打開 ARM存器顯示窗口。調(diào)整窗口大小,使得Corrent節(jié)點(diǎn)的R0R2寄存器可見。選才P Processor Views?Memory選項(xiàng),打開 AR超儲(chǔ)器顯示窗口。在 Start Address輸入框中輸入準(zhǔn)備查看的內(nèi)存區(qū)域首地址 0x9000。'AIDr-jpw10、調(diào)試映像文件。 點(diǎn)擊鼠標(biāo)所指圖標(biāo)打開調(diào)試窗口。為了便于調(diào)試,觀察各個(gè)寄存器和存儲(chǔ)器的變化情況,推薦調(diào)試窗口布局如圖所示:注阿|酬*1 t* J Ie皿固IIEBIBJI I質(zhì)mi叵曰百|(zhì)回I H ”科W刪刈總於囿I,I明Fif胃心肘,】£5&q

9、uot;rl:n IfcitTEl Kauix 用 Lj< l«L<i| Irij |5 FM外商!1型1和1型叫-n|>«n fl d | :dr* lFI5 ;j£:C-=hi FWdMw TiJia Mfcwcflri )E 電白 todioB中"« 詆J R9| I 1 yAEYKF Utfceridaiilliginl . ,,“小R/ i Tab f I Tdb » Td KTjji.i 【an t>js n*"IEScM.-I - 1&1(1 rf«T34 PHjllr

10、LflFW*WCUIWh I 常|"rtFtl煙M1卜0值g*gg卜Et21匚工二£3g I Biriaia'a ,9L_p£rnflRHrMfln卜 H191bM 心 力卜門以口歸。喊ioPre女口叱口hr!抽brL3刀口的。煙。III口口口:口處口,心汨4 34附dD卜FU5口網(wǎng)通口11、單步運(yùn)行程序,觀察并記錄結(jié)果。在AXD中,選擇Execute?Step選項(xiàng),或者F10鍵,單步運(yùn)行程序,查看相關(guān)寄存器和存儲(chǔ) 器相應(yīng)地址上的變化,請(qǐng)把每一步的結(jié)果填入下表中。運(yùn)行結(jié)果如圖所示:所以觀察時(shí)應(yīng)注意分析源程序可以看出,我們的程序僅對(duì)少數(shù)幾個(gè)寄存器進(jìn)行了讀寫操作,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論