c语言调用编绘程序实验报告,嵌入式实验报告(答案).doc

嵌入式实验报告(答案)

实 验 报 告

ARM嵌入式系统原理及应用开发

目 录

实验一 ARM汇编指令实验1ARM汇编指令实验汇编实验一 ARM汇编指令实验1

一、实验目的

1.初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器;

2.通过实验掌握简单ARM汇编指令的使用方法。

二.实验设备

1.硬件:PC机;

2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。

三.实验内容

1.熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元。

2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。

四.实验原理

ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。

1.ARM通用寄存器

通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。

存储器格式

ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节0~3存放第一个字,字节4~7存放第2个字,以此类推。

ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。

GNU基础知识

Embest IDE集成了GNU汇编器as、编译器gcc和链接器ld。因此,编写程序要符合CNU的语法和规则。关于as.gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm。

五.实验操作步骤

1. 实验A

(1)新建工程:先建一个文件夹如: test1。然后运行ADS1.2集成开发环境,选择File→New 菜单项,”test1”,点击确定,同时创建一个与工程名相同的工作区。菜单项ew”,弹出一个对话框,”,在“file name ”中输入编辑完后,()添加源文件:选择Project→Add To Project→File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件.s。”对话框中选择“DebugRel”

(4)基本设置:(5)生成目标代码:按下生成目标代码。(6)调试设置:按下。首先编译和链接之后,在工程test1所在的目录下生成一个名为“test_data的目录,同时打开对话框使用Debugrel目标,选择生成的test.axf用于调试。

()打开存储器窗口,观察地址0x000~0x101F的内容()单步执行程序并观察和记录寄存器与存储器值的变化。

()结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令2.实验B

(1) 在工作区窗口工作区名称上右击鼠标,在弹出的快捷菜单中选择“Add New Project to Workspace…”。

(2)参照实验A及相应的实验参考程序,建立工程(3)参照实验A的步骤完成目标代码的生成与调试。

六.实验参考程序

1. 实验A参考程序

七.实验报告

(1)画出程序A、程序B的实现框图,并说明实验A、B程序实现的功能是什么?(2)记录程序A和程序B单步运行时有关寄存器与存储器的值,并分析有关结果是否正确。

实验B

地址:

0x2D20放在0x1000的地址中,0x77 放在R1中,0x2D21放在R0中,0x2D5C放在R2中

实验二 ARM汇编指令实验2

一、实验目的

通过实验掌握使用LDM/STM、B和BL等指令完成较为复杂的存储区访问和程序分支,学习使用条件码,加强对CPSR的认识。

二、实验设备

1.硬件:PC机;

2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。

三、实验内容

1.熟悉开发环境的使用并完成一块存储区的拷贝;

2.完成分支程序设计,要求判断参数,根据不同参数,调用不同的子程序。

四、实验原理

1.ARM程序状态存储器

在所有处理器模式下,都可以访问当前程序状态寄存器CPSR。CPSR包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态。CPSR和SPSR的格式如下:

31 30 29 28 27 26 8 7 6 5 4 3 2 1 0

N Z C V QDNM(RAZ) IFTMMMMM2.本实验涉及到得as语法及规则

1)标号的使用

标号由一个符号后跟一个冒号组成,它表示程序中当前的指令或者数据地址。如果在程序中出现两个相同的标号,汇编器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值