arm实验报告最终版.docx

上传人:b****5 文档编号:14305342 上传时间:2023-06-22 格式:DOCX 页数:24 大小:507.78KB
下载 相关 举报
arm实验报告最终版.docx_第1页
第1页 / 共24页
arm实验报告最终版.docx_第2页
第2页 / 共24页
arm实验报告最终版.docx_第3页
第3页 / 共24页
arm实验报告最终版.docx_第4页
第4页 / 共24页
arm实验报告最终版.docx_第5页
第5页 / 共24页
arm实验报告最终版.docx_第6页
第6页 / 共24页
arm实验报告最终版.docx_第7页
第7页 / 共24页
arm实验报告最终版.docx_第8页
第8页 / 共24页
arm实验报告最终版.docx_第9页
第9页 / 共24页
arm实验报告最终版.docx_第10页
第10页 / 共24页
arm实验报告最终版.docx_第11页
第11页 / 共24页
arm实验报告最终版.docx_第12页
第12页 / 共24页
arm实验报告最终版.docx_第13页
第13页 / 共24页
arm实验报告最终版.docx_第14页
第14页 / 共24页
arm实验报告最终版.docx_第15页
第15页 / 共24页
arm实验报告最终版.docx_第16页
第16页 / 共24页
arm实验报告最终版.docx_第17页
第17页 / 共24页
arm实验报告最终版.docx_第18页
第18页 / 共24页
arm实验报告最终版.docx_第19页
第19页 / 共24页
arm实验报告最终版.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

arm实验报告最终版.docx

《arm实验报告最终版.docx》由会员分享,可在线阅读,更多相关《arm实验报告最终版.docx(24页珍藏版)》请在冰点文库上搜索。

arm实验报告最终版.docx

arm实验报告最终版

ARM与嵌入式技术

实验报告

专业班级:

10通信工程1班

姓名:

万洁

学号:

100103011125

实验日期:

2013年5月28日

指导老师:

郑汉麟

 

1、通过实验掌握ARM指令的特点和寻址方式;

2、掌握简单的ARM汇编语言的程序设计;

3、了解集成开发环境EmbestIDE及其开发软件的应用;

、实验环境

EmbestIDE应用于嵌入式软件开发的新一代图形化的集成开发环境,它包括一套完备的面向嵌入式系统的开发和调试工具。

其开发软件EmbestIDEforARM是集编辑器、编译

器、调试器、工程管理器(projectmanager)于一体的高度集成的窗口环境,用户可以在

EmbestIDE集成开发环境中创建工程、编辑文件、编译、链接、运行,以及调试嵌入式应用程序。

三、实验步骤

1)新建工程:

运行EmbestIDE集成开发环境,选择菜单项File宀NewWorkspace,如图一,系统弹

出一个对话框,键入文件名“wj”,如图二,点击0K按钮。

将创建一个新工程,并同时创

建一个与工程名相同的工作区。

此时在工作区窗口将打开该工作区和工程.。

(老师提醒:

不要放入Bin文件夹中)

■Emb«tQEPre亠Educat

「販]£dii_VwwBuidfrtbug

Dif**Qri+W

诊Open-"Qrl*O

2)建立源文件:

点击菜单项FiletNew,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。

编辑完后,保存文件“wj.s”后缀,如图三,四。

3)添加源文件:

选择菜单项ProjecttAddToProjectFiles,在工程目录下选择刚才建立的源文件.s

后缀文件,如图五,图六,图七。

ProjectBuildDebugTookWindowHelp

图五

图六

:

-43Workspace'w]:

1projectfs)^1@wjfiles

口ProjectSourceFiles■-LJPrajectHeaderFiles-“禺VI].s

图七

4)基本配置:

选择菜单项ProjecttSettings,弹出工程设置对话框。

在工程设置对话框中。

1选择Processor设置对话框,按照图八所示,进行配置:

岸切F

l«irvCompiler|emb*

图八

2选择Remote设置对话框,按照下图九所示,进行配置:

PeVdccsi-surl-lCOebugDirec.Vnvv'Compller!

4

I^IrviAfvii?

Lvriibewl.¥-4miFl»lurfurAUMf

V1TF:

&>ipiEE

J

C<*rraiiiunlEJkiliomtype:

3选择:

一L-J最右边一个进行编译,显示如图十,则编译成功。

Buildingproject:

wjarm-elf-as-gdwarf-^F!

\ARH\Ex3iiples\uj\wj-oAdebugkuj.oarn»-elf'Id-o.elf,\*iebug\wj.0

Cominandf?

)^uccessftilltjexecuted・

图十

④选择ProjecttSettingsDebug设置对话框,按图^一,十二,十三所

示,进行配置:

图十

图十二

图十三

⑤选择二:

一A最右边一个进行编译,显示如图十四,则编译成功。

Auiltlznqproject:

刖j

□rn-elf-a5-gdwarf2F;\ARH\Esc0iipiT:

5\切j\wj・s~o\debug\T>].o

arn-elF-ld-oAdebugXwj.elF.o

Conmand(5)successfullyexecuted・

5)选择菜单项DebugtRemoteConnect进行连接软件仿真器,将存储器地址改为

0x1000,如图十五,执行DebugtDownload命令下载程序,并打开寄存器窗口。

开memory窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。

Address:

R15;0x09001608

SP:

QxnOOOOHBQ

LR:

馭0卿0朋凹

PC:

axUOOOl0d8£PSR:

9K0SS38Bd3

H»U

r»pin

MU

广1.Bl*

上J

<:

=

add

产・;尸0“ifH;

ftE1■•:

i^atMiBin

%-HikIW

fFfff

_1

5*law

4kV«fffffF

3--:

4KD^ID1C

iHinu

a-:

i*i

転0啊

H0■宅

#m:

c^Mtotkoe^—fhz:

iKiMiinDiHiaRofliictiir|APferipherHl|

按照老师所说的,将源程序的addr0,r0,r1中的add改为adds,并设置R0,R1分别为

0xffffff88和0x000000aa再次观察,得到如下结果:

 

noy

no

DhUdUUl0^4

ndulj

ri!

mv

rfi』叽rd]

asxjoeelesc

b

0x180c

tH00001818

nv

CxMFfrFFF

9XUOOQ1Blft

^uinv

QxDOFf^FFf

fiMaoDQiais

^.llKRtJ

flxDQFfFFFf

SmBOBQI01c

SUlllilU

flxBaFfffff

suinu

BxtVFfFFFF

SXUU&U1昨i

suilnui

U5{口叶"HHb

AxnDQOIQ7S

nv

GxfiftffFFff

0^89001B2t

syimv

QxOOffffFf

HMHHHH1MdII

cninu

収朋4“卜44

图十五

dE13:

'*R15:

第SP:

0lr:

9xonn0nooo

dPC!

0000199c

0EPSR:

0x2DUa0ad3dSPS«:

OXOOHO0O0O

—I■尸科u—

 

四、实验内容:

1.(原题目第二题)编写程序将R2的高8位传送到R3的低8位(不考虑R3的其他位)源程序:

.global_start

.text

_sta比

movr2,#0x66000000

movr3,#0x88000000andr0,r2,#0xff000000andr3,r3,#0xffflff00orrr3,r3,r0,lsr#24stop:

bstop

.end

/*把第一个立即数送进r2*/

/*把第二个立即数送进r3*/

/*取r2高8位到rO*/

/*r3低8位清零*/

/*r0逻辑右移24位后与r3相或,结果送进r3*/

调试结果:

nuu

r2,11711276092

HhNUMMIANil

nnw

rOps

dlld

r叭池、11-1*777216

foafiacifflai

bit

r3,r3,弓写

khcHUHMtHMii

err

r:

[,rB,\sr斗”

ftKOOOOlOl^

13

OK1014

OKlMDIOIfl

bujinu

DxQBfFfFff

HKMUHHiriC

强inu

UMHUIIfFFF

Ok«0BO1(^S

swin^

ONOOFfFFFF

flsaeantfli?

&

^uiinu

D>:

iOftFfFFf1=

ihcuaatHH&'A

;winu

ffFFF

①Download下载:

—Builrtingproj«ttwj?

arnrciF-as-gtluarfaF:

\.ARM\Bln\wj2Awj2.s-□.\dobug\uj2.o

Jflddress:

M

2

*a*1+2+3+^i*

»0fl1BM

647tiAH£3?

?

F$.."

nouuioK

時AHL3PF0^1"■■■

OODOIOtM

02E2FF30C3一.0-

nnaniRnr

E32)09CB9Fl,

uu^uimi4

FEFFFF1ERFF

DOQQI019

FFFFFFFFFF

nnaciifrir

FFfTFF『FFF

Ciomanid(s)exrcuted.

F1?

_s:

tfi-Earning!

endflFfilenot白tmdla

dirii-HJlF-ldF叭ifj?

・u>

②取r2高8位到r0:

900010»0nonr2,111711276002

鞅卿斛mov281326^979

sxflnflRinftRAnnrn#r?

ti-ifi777?

ifi

BXUUUC1QOcdier3,*25S

9k00GG191Qorrr3tr3rr3fJsr42■«

OOCdflmb0x1914

axnnntiisissmlnuexntiFffffF

BxLJHbUlEhrinuajcULM-1-+4;f:

P

8k90SBitzasuinu

ooeciS24suiFiusorrrfff

n舶帕PMZRsmluuftxSOffffff

罰Current

』HP:

HH4U14in^Hm鼻IH:

9xfl6«0d9Oe

0K2:

UH66UU0UUU

•RS:

9xB8«OS9O0

HUIf:

UMUUUUttUUU

*R5:

9KCQ«g^900

③r3低8位清零:

txaoasiiBD

■xifreaiBB4

naj

nun

|趴#1711276832r3Pll-2(l1320592f

oxsnoiaiadr

丸rm

F・p®>ihT772i丽

BxOHeDlHttc

biu

r9Pr2,it咖|

8x9060181B

arr

r3,r3,Lsrt24

8x90801614

b

0x191U

«xaoaaifiia

bwinu

^eaFFFfff

Axbimunn-tc

swlnu

lIXflrtl-FHtf

VXUUUU1U2U

suinu

uxnui-FH^f

EWCurrent

4KU:

«x66mW

iR1;

dr?

z

dR9;

 

 

④r0逻辑右移24位后与r3相或,结果送进r3:

 

2.(原题目第三题)编程实现64位的加法运算,要求【R1:

R0】+【R3:

R2】结果放回

【R1:

R0】。

.global_start.text

_sta比

movR0,#24

/*R0=24*/

movR1,#12

/*R1=12*/

movR2,#16

/*R2=16*/

movR3,#18

/*R3=18*/

ADDSR0,R0,R2

/*R0等于低32位相加,并影响标志位

*/

ADCR1,R1,R3

/*R1等于咼32位相加,并加上低位进位

*/

stop:

bstop.end

 

■xUHh91hnil

mu

r«.WM

tKlHH町・的

rw»u

rlrB1?

£h(0@Q9im

rwv

r2.114

3k0@S9190£

IHfV

r3,118

妣陆的rpkmo

duds

ra.rOpr?

mifluvimi

41d!

c

1-1*rlFra

MxniiMHimi

n

WM1IT1K

Q^OC01191c

首Bn甲

Q^OQHFfF^Ff

€^06091920

$uinv

ON06FfFfFf

swinv

BHflBFfFFFf

ttxOHM9lE7M

nu

MxBOKFlff

sulnv

U>i4IUi1f1f1

I.Download下载:

T

乌単ams:

Bxiflfin

aoiMriona

nn

nn

HMfllHfiBS

IB

E3

nuunukiA

Ail

12

MMiaOF

E3

02

00

ssMim

«3

10

m

…u.

--BuiIdingproject:

u]3-drPi-Elf-ji!

i-ydwdirf2FXARH\BinXvj2\deb&iy\uj3・当-ax\dtebug\iwj3.uF:

\ftRl(\eiiifc\wJ2\dvbug\aJJ-b:

ftirseuljlyrriu注』唱u*r:

SARt<\nliin\wJ?

\drhiig\uj3B5:

Q:

UrfFning:

nn

Arm-elf-l«d-n.XdFbuqXu'j3.ell-Vdpbuq\ujll.&

DumiidiiilKs)i>ucc^sbfullyux^uuled・

 

"Ft13;Qm00090990

:

dwui:

UKUUijwwiiwu

•ms:

nxnnnni

*sp;Boeoaaoa

dlk;

异*pc:

nxnnnnims

:

彳cpsr:

oxesaaaada

-A

神SP^R:

Bk00000803

①单步跟踪后的结果:

:

^00001600

IIIUU

F0,B21J

IHDU

r1,1112

awoOflsiooB

nou

r2,1116

GwOOfleiflOc

ITJOU

r9,tfIS

OkOOSMC1B

adds

rd,rfl,r2

kOQO0lO1if

ddc

r11r1,r3

-=>

Rx»oonois

b

0X1018

fix»«001H1£

suinv

OxOOfFffff

II-?

El

cnHmi

②存储器的结果显示:

 

+0+1+2+3+U

oomsee

18

OU

A0

E3

OC

■■■■

oesoieo5

10

no

E3

10

20

■■丽■

0600100A

E3

12

39

AU

…B

00Q01eor

02

as

90

EO

■■■■

OQ0U&1JI

03

10

EO

FE

■■■■

006(1-1019

FF

FF

EA

FF

FF

■■•■

Q004101E

FF

Ff

FF

FF

FF

n■■■

③寄存器的结果显示:

R0—RO+R2;R1—R1+R3:

Reg

曰副Current

WRO:

0X60000028j|:

dR1:

OxOGOflOQIe

.R2:

OxDUOHflMO

B3;血卿胛凹霍

3.(原题目第七题)编写一段程序计算10!

 

.global_start

.text

.equnum,10

_sta比

movrO,#num

movr1,r0

s1:

subsr1,r1,#1

mulr0,r1,r0

cmpr1,#1

beqstop

bnes1

stop:

.end

bstop

/*把r1-1放入r1*//*r0*r1放入r0*/

/*比较R1与1的大小*/

 

分析调试:

hooooiovo

mov

mo

0x06091004

rwu

ro

0XQ0OO1QO9

subs

r1tIt1

OxOUOOl00c

nul

r1,rfl

OK00O0101O

cnp

tt1

0X00001014

beq

0x191c

OxO@001O1S

bne

ox1m

0X0600101C

b

0X101C

6XOB0O1O20

swinu

OK00FFFFFF

①第一次执行S1,r1=10-仁9,10*9=90,换成16进制是5a。

RD:

0x0090095a

R1:

0x00000009

R2:

OxOBOOODOO

R3:

oxflooeoaae

0x00801004

0X0O0Q13Q8

OxO0601OBc

ROMniousubsnul

ro,#10r1,rflr11r1,U1rO,r1,rO

8x00001010

cmp

r1t#1

1X88081014

beq

0x1Q1c

0x00601014

bne

0x1003

0X00001Q1C

b

0x101c

axemiEi2o

swinu

0xO0fFFfff

第二次执行S1,

r仁9-仁8,10*9*8=720,换成16进制是2d0。

三働—Current—

「“R0:

OxS9O0O2dO

)R1:

0x00000008

0R2:

0x90000009

0R3:

0x00000090

0x06001000

nou

rd,tlfi

BxOQOOl004

nou

r1tr0

0x00001008

subs

r1,rl.tt1

0(x0000106c

nul

r0,r1,rft

QNQQ001019

cnp

r1tS1

0X00001014

beq

0x101c

0x00001Olt

bne

0x1808

0X0000101C

b

0x1QIC

0X09001920

swinu

0X00fffFff

③依次执行S1,至Ur1=1,停止,10*9*8……*仁3628800,换成16进制是375f00。

-密—Current—

0RO:

0x00375(00

(0R1:

0X00000001

“R2:

0x90000000

LgR3:

0x00000000

4.(原题目第八题)

串拷贝(R0指向源数据的首地址,

R1指向目的数据串的首地址)

.global_start.text

•EQUNUM,8_sta比

LDRR0,=srcstr

LDRR1,=dststrmovR3,#NUMmovLR,PC

Bstrcopystop:

bstop

/*指向源数据串R0*/

/*指向目标数据串R1*/

/*R3=8*/

/*返回*/

/*调用串拷贝子程序*/

 

strcopy:

LDRBR2,[R0],#1

STRBR2,[R1],#1

SUBSR3,R3,#1

CMPR3,#0BNEstrcopyMOVPC,LR

E霁Cunrent

R0:

9x00008138

H1:

909Q819S

/*字符串的复制*/

/*装载字节同时更新地址*/

/*存储字节同时更新地址*/

/*判断是否结束*/

/*不是,则继续*/

/*返回*/

.data

srcstr:

」ong1,2,3,4,5,6,7,8/*定义源数据串*/

dststr:

.long8,7,6,5,4,3,2,1/*定义目的字符串*/

分析调试:

ConipilingFileiF:

XARN\£xanples\vjj\ujS\debug\vij\dBbug\uijU.s

arn-elF-asF:

\ARM\Exanples\wj\wj5\detjug\uj\debug\wjU.s-c_\debug\wj4_o

Pomnianr1(<;)^urcp^^Fully*Mprut"pd.

①单步跟踪后的结果及存储器的结果显示:

ldr

rfl,

[pc,

#28]

:

0X103B

UXUQSC1UC14

Iflr

【",

it28j

;0x163^1

&x0Qg(iioo»

HIDU

r2rttB

OKfJH9G10Hr

nou

lr,pc

0^00661010

b

0X1018

0x06061(Hh

b

0x1014

ldrb

r2(

[rU|

#1

0000101c

strb

[rt]

#1

2•存储器结果显示

 

十0

*1

*3

*3

09001001

2S

00

9F

E5

28

(…衣

*0091905

1S

9F

E5

GS

90

…-羽

A0

E9

0F

匚阳

AO

aoosiOOF

E1

OO

BQ

60

EA

&9001014

FE

FF

FF

E白

I

flibofliaiv

20

DO

E4

G1

■■■

moiaie

G1

EA

01

30

S3

AS

E迟

00

00

53

£3

..-S-

nnnni

ra

PF

FF

■io

寄存器的结果显示:

r:

nxnnnnisp:

axonnunoDnLM:

UMU(JUU-|U~l>1PC:

U^ltJ

cpsr:

OMoecooods

五、实验体会心得:

这是第一次接触ARM与嵌入式实验,在此次实验过程里,我发现实验课比理论学习课有趣得多,因为老师一边讲解怎么使用软件,一边询问我们相关知识点,不仅使我们记得模糊的理论知识变更加清晰确切了,而且也在对软件的学习实践中,增加了浓厚的兴趣,真正实现了手把手教的详细教学。

认真听老师讲,积极主动去思考,我发现学习起来,并没有想象中的那么难。

不懂的问题,不断去尝试调试,并请教老师,可以

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2