全球旧事资料 分类
郑州航空工业管理学院
嵌入式系统实验报告
(修订版)
2020第学期
赵成,张克新
院系:姓名:专业:学号:
电子通信工程系
2014年3月制
f实验一ARM体系结构与编程方法
一、实验目的
了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模
式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS12IDE中进
行ARM汇编语言程序设计。
二、实验内容
1.ADS12IDE的安装、环境配置及工程项目的建立;
2.ARM汇编语言程序设计(参考附录A):
(1)两个寄存器值相加;
(2)LDR、STR指令操作;
(3)使用多寄存器传送指令进行数据复制;
(4)使用查表法实现程序跳转;
(5)使用BX指令切换处理器状态;
(6)微处理器工作模式切换;
三、预备知识
了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理
器的程序设计方法。
四、实验设备
1硬件环境配置
计算机:I
telRPe
tiumR及以上;
内存:1GB及以上;
实验设备:UPNETARM2410S嵌入式开发平台,JLi
kV8仿真器;
2软件环境配置
操作系统:MicrosoftWi
dowsXPProfessio
alServicePack2;
集成开发环境:ARMDeveloperSuiteADS12。
五、实验分析
1.安装的ADS12IDE中包括CodeWarriorIDE和AXDDebugger
两个软件组件。在ADS12中建立ARMExecutableImage类型的工程,工程目标配置为
Debug;接着,还需要对工程进行目标设置、语言设置及链接器设置;最后,
配置仿真环境为AXDDebugger仿真方式。
2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运
算,给出运算部分相应指令的注释。
文件名:ADDER
COUNTEQU
10
AREAADDERCODEREADONLY
ENTRY
程序入口
CODE32
32位代码
STARTLDRR0COUNT
将COUNT的值赋值给R0
ADDR0R03
R0R03;
HALT
死循环
B
HALT
f3.列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。LDRR0R1R0R1STRR0R1R1R0LDRR0R14R0R14LDRR0R14R0R14R1R14LDRR0R14R0R1R1R14LDRR0R1R2R0R1R2
4.“使用多寄存器传送指令进行数据复制”汇编程序分析。
LDR
R0SrcData
执行后,R0的值是SrcData
LDR
R1DstData
执行后,R1的值是DstData
LDMIA
R0R2R9
LDMIA中的指令后缀IA表示在每次
执行完加载存储操作后,R0按字长增

STMIA
R1R2R9
执行后,程序实现的功能是R2R0
R3R04R4R08R5R012
R6R016R7R020R8R0
24R9R028
STMIA指令功能是将R1~R7的数据保
存到R0存储器中,R0存储器指针在保
存第一个值之后增加r
好听全球资料 返回顶部