ARM实验1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM嵌入式应用系统实验指导书
――(包括Protues仿真实验指导)
编撰李强彭瑞明
2008年11月17日星期一
ARM嵌入式应用系统实验指导书目录
实验1 汇编指令实验1 (3)
实验2 汇编指令实验2 (5)
实验3 汇编指令实验3 (7)
实验4 汇编结构化程序设计实验3 (10)
实验5 汇编指令实验5 (15)
实验6 ARM C语言程序设计实验 (19)
实验7 ARM 混合语言程序设计实验 (22)
实验8 GPIO输出控制实验(流水灯) (25)
实验9 GPIO输入控制实验(可控流水灯) (46)
实验10 存储器重映射实验(ReMap) (52)
实验11 向量外部中断实验 (55)
实验12 基于UCOS_II的实验1 (58)
实验13 基于UCOS_II的实验2 (62)
实验14 基于UCOS_II的MCB380实验 (69)
MCB380教学实验平台用户手册 (76)
1、简介 (76)
2、硬件组成 (76)
3、主板跳线和地址说明: (76)
实验1 汇编指令实验1
一、实验目的:
1.掌握ADS1.2集成开发环境及ARMulator软件仿真
2.了解ARM汇编指令用法,并能够编写简单的汇编程序
3.掌握指令的条件执行,掌握LDR/STR指令,完成存储器的访问
二、实验设备:
1.硬件
PC机
2.软件
ADS1.2、AXD
三、实验内容:
1.用LDR指令读取0x40003100地址上的数据,将该数据加1,若结果大于10,则使用STR指令将结果写入原地址,否则,将把0写入原地址。
2.用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegister)监视R0、R1的值,打开存储器观察窗口(Memory)监视0x40003100地址处的值。
四、实验步骤
1.启动ADS1.2,使用ARM Executable Image工程模板建立一个工程。如Test1
2.建立汇编源文件Tset1.s
3.设置工程连接地址R0 Base 0x40000000,RW Base 0x40003000。设置调试入口地址Image Entry point 为0x40000000。
4.编译、连接工程,选择Project Debug ,启动AXD软件仿真调试。
5.打开寄存器窗口,监视R0、R1的值,设置观察地址0x40003100,显示方式为32bit,监测0x40003100上的值。
6.可以单步运行程序,可以设置、取消断点,或者全速运行,停止运行,调试时观察寄存器0x40003100上的值,运行结果见图1。
图1 ARM实验1的运行结果五、实验参考程序
COUNT EQU 0X40003100
AREA TEST1, CODE,READONLY
ENTRY
CODE32
START
LDR R1,=COUNT
MOV R0,#0
STR R0,[R1]
LOOP
LDR R1,=COUNT
LDR R0,[R1]
ADD R0,R0,#1
CMP R0,#10
MOVHS R0,#0
STR R0,[R1]
B LOOP
END
实验2 汇编指令实验2
一、实验目的:
1.掌握ARM数据处理指令的用法
2.了解ARM汇编指令灵活的第二操作数,编写简单的汇编程序
3.掌握指令的条件执行,掌握LDR/STR指令,完成存储器的访问
二、实验设备:
1.硬件
PC机
2.软件
ADS1.2、AXD
三、实验内容:
1.用MOV和MVN指令访问ARM通用寄存器
2.使用ADD、SUB、AND、ORR、CMP和TST指令完成数据的加减运算及逻辑运算。3.用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegister)监视运算值,打开存储器观察窗口(Memory)监视0x40003100地址处的值。
四、实验步骤
1.启动ADS1.2,使用ARM Executable Image工程模板建立一个工程。如Test1
2.建立汇编源文件Tset2.s,然后加入工程中
3.设置工程连接地址R0 Base 0x40000000,RW Base 0x40003000。设置调试入口地址Image Entry point 为0x40000000。
4.编译、连接工程,选择Project Debug ,启动AXD软件仿真调试。
5.打开寄存器窗口,监视寄存器的值,设置观察地址0x40003100,显示方式为32bit,监测0x40003100上的值。
6.可以单步运行程序,可以设置、取消断点,或者全速运行,停止运行,调试时观察寄存器0x40003100上的值,运行结果见图2。
图2 ARM实验2的运行结果五、实验参考程序
X EQU 11
Y EQU 8
BIT23 EQU (1<<23) ;BIT23 = 0X00800000
AREA test2,CODE,READONL Y
ENTRY
CODE32
START
;MOV,ADD, R8=R3=X+Y
MOV R0,#X
MOV R1,#Y
ADD R3,R0,R1
MOV R8,R3
;MVN,SUB, R5= 0X5FFFFFF8 -R8*8
MVN R0,#0XA0000007
SUB R5,R0,R8,LSL #3