arm嵌入式实验报告完整版.docx

上传人:b****3 文档编号:27322081 上传时间:2023-06-29 格式:DOCX 页数:15 大小:20.17KB
下载 相关 举报
arm嵌入式实验报告完整版.docx_第1页
第1页 / 共15页
arm嵌入式实验报告完整版.docx_第2页
第2页 / 共15页
arm嵌入式实验报告完整版.docx_第3页
第3页 / 共15页
arm嵌入式实验报告完整版.docx_第4页
第4页 / 共15页
arm嵌入式实验报告完整版.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

arm嵌入式实验报告完整版.docx

《arm嵌入式实验报告完整版.docx》由会员分享,可在线阅读,更多相关《arm嵌入式实验报告完整版.docx(15页珍藏版)》请在冰豆网上搜索。

arm嵌入式实验报告完整版.docx

arm嵌入式实验报告完整版

arm嵌入式实验报告完整版

篇一:

ARM嵌入式系统实验报告1

  郑州航空工业管理学院

  嵌入式系统实验报告

  第

  赵成,张克新

  院姓专学

  系:

名:

业:

号:

电子通信工程系周振宇物联网工程121309140

  电子通信工程系

  XX年3月制

  实验一ARM体系结构与编程方法

  一、实验目的

  了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2IDE中进行ARM汇编语言程序设计。

  二、实验内容

  1.ADS1.2IDE的安装、环境配置及工程项目的建立;2.ARM汇编语言程序设计(参考附录A):

  

(1)两个寄存器值相加;

(2)LDR、STR指令操作;

  (3)使用多寄存器传送指令进行数据复制;(4)使用查表法实现程序跳转;(5)使用BX指令切换处理器状态;(6)微处理器工作模式切换;

  三、预备知识

  了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。

  四、实验设备1.硬件环境配置

  计算机:

Intel(R)Pentium(R)及以上;内存:

1GB及以上;

  实验设备:

UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器;2.软件环境配置

  操作系统:

MicrosoftWindowsXPProfessionalServicePack2;集成开发环境:

ARMDeveloperSuite(ADS)1.2。

  五、实验分析

  1.安装的ADS1.2IDE中包括两个软件组件。

在ADS1.2中建立ARMExecutableImage(ARM可执行映像)类型的工程,工程目标配置为Debug;接着,还需要对工程进行目标设置、语言设置及链接器设置;最后,配置仿真环境为ARMUL仿真方式。

  2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。

  ;文件名:

AREAXTF,CODE,READONLY

  声明32位ARM指令R0arm嵌入式实验报告完整版)

  ADD

  R0,R1,R2

  3.列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。

AREAXTF,CODE,READONLY;声明代码段XTFENTRY;标示程序入口CODE32;声明32位ARM指令STARTLDRR0,=1;加载数据LDRR1,=2LDRR3,=ADDR_1;载符号地址ADDR2,R0,R1;R2[R3]

  ;数据空间定义AREAData_1,DATA,ALIGN=2

  ADDR_1DCD0END;结束4.“使用多寄存器传送指令进行数据复制”汇编程序分析。

LDRR0,=SrcData;执行后,R0的值是LDRR1,=DstData;执行后,R1的值是LDMIAR0,{R2-R9};LDMIA中的指令后缀IA表示传送后地址加4,[R0]-->R2,[R0+4]-->R3,?

[R0+28]-->R9STMIAR1,{R2-R9};执行后,程序实现的功能是?

[R1+28]  5.在“使用查表法实现程序跳转”的汇编程序中,指令LDRPC,[PC,R2]采用的是什么寻址方式?

作为基址的寄存器PC的值是多少?

作为指令指针的PC又指向哪条指令?

这个指令与流水线执行的关系是什么?

(选做)

  答:

1)基址加变址寻址;2)PC  6.通过运行及观察“使用BX指令切换处理器状态”汇编程序实验,回答ARM指令与Thumb指令之间是如何实现状态切换的?

AXDDebugger调试环境中的哪个寄存器指示了ARM微处理器当前的指令状态?

同时,在程序中添加从Thumb指令切换到ARM指令的代码。

(选做)

  答:

1)BX指令使用寄存器作为参数,当32位操作数寄存器的第0位的值为1时,执行BX指令后,ARM处理器从16位半字节对齐ARM指令状态切换到32位字对齐Thumb指令状态;当32位操作数寄存器的第0位为0时,ARM处理器从Thumb指令状态切换到32位ARM指令状态。

  2)CPSR的value值为nzcvqIFt_SVC时为ARM32指令状态;为nzcvqIFT_SVC时

  为Thumb16指令状态

  3)AREA

  XTF,CODE,READONLY;声明代码段XTF

  ENTRY;标识程序入口CODE32;声明32位ARM指令SARTMOVR1,#1;设置参数MOVR2,#2ADDR0,R1,R2;R0  Into_ThumbMOVR5,#3MOVR6,#4ADDR4,R5,R6LDRR3,=Bach_to_ARM;将Back_to_ARM地址值赋给R3;产生字对齐的跳转地址,最低位被清除,即bit0为0BXR3;BranchExchange返回到ARM状态,此时运行在ARM指令集环境里CODE32;ARM状态下的子函数Bach_to_ARMMOVR8,#3MOVR9,#4ADDR7,R8,R9END

  7.观察“微处理器工作模式切换”程序的运行,按顺序写出ARM工作模式切换过程中依次出现的工作模式,同时,通过观察回答ARM微处理器是否能从用户模式切换到特权模式?

(选做)

  答:

  1)Usr(用户)?

Sys(系统)?

Fiq(快中断)?

Svc(管理)?

Abt(终止)?

Irq(中断)?

Und(未定义)

  2)用户模式不能直接切换到其他处理模式(特权模式),特权模式可以自由切换到其他处理器模式。

  程序:

AREAWork_mode_switch,CODE,READONLY;

  ENTRYCODE32

  ;入口

  ;**************************************************;now_in_svc_mode

  ;ARM处理器默认工作在SVC模式M=10011

  ;切换原理:

CPSR最低8位I、F、T、M位用作控制位,当异常出现时改变控位。

;;

  其中,中断标志位I、F;指令状态标志T;工作模式位M[4:

0]通过软件控制模式位M即可控制ARM工作状态。

  ;************************************************;into_Sys_mod

  ;系统模式下可运行具有特权的操作系统任务,与用户模式类似,但可以直接切换到其他模式。

  MRSR0,CPSR

  ;复制CPSR到R0

  ;into_Fiq_mode

  ;用于高速数据传输或通道处理,Fiq异常响应时进入此模式

  MRSR0,CPSRBICR0,R0,#0x1FORRR0,R0,#0x11MSRCPSR_c,R0MOVR13,#2

  ;复制CPSR到R0;清楚R0的后5位

  ;设定R0的最后5位为10001

  ;把R0装在到CPSR,切换到快中断模式;对快中断模式下的R13赋值(R8-R14)

  BICR0,R0,#0x1FORRR0,R0,#0x1FMSRCPSR_c,R0MOVR13,#1

  ;清除R0的后5位

  ;设定R0的最后5位为11111

  ;把R0装在到CPSR,切换到系统模式;对系统模式下的R13赋值(R0-R14)

  ;into_Svc_mode

  ;操作系统使用的保护模式,系统复位和软件中断响应时进入此模式(R13-R14)

  ;into_Abt_mode

  ;可用于虚拟存储及存储保护,当数据或指令预取终止时进入该模式

  MRSR0,CPSRBICR0,R0,#0x1FORRR0,R0,#0x17MSRCPSR_c,R0MOVR13,#4

  ;复制CPSR到R0;清楚R0的后5位

  ;设定R0的最后5位为10111

  ;把R0装在到CPSR,切换到数据访问终止模式;对快数据访问终止模式下的特有缓冲器R13赋

  MRSR0,CPSRBICR0,R0,#0x1FORRR0,R0,#0x13MSRCPSR_c,R0MOVR13,#3

  ;复制CPSR到R0;清楚R0的后5位

  ;设定R0的最后5位为10011;把R0装在到CPSR,切换到管理模式;对快管理模式下的特有缓冲器R13赋值

  值(R13-R14)

  ;into_Irq_mode

  ;用于通用的中断处理,Irq异常时进入此模式(R13-R14)

  ;into_Und_mod

  ;可用于支持硬件协处理器的软件仿真,当未定义的指令执行时进入该模式(R13-R14)

  MRSR0,CPSRBICR0,R0,#0x1FORRR0,R0,#0x1bMSRCPSR_c,R0MOVR13,#6

  ;复制CPSR到R0;清楚R0的后5位

  ;设定R0的最后5位为11011

  ;把R0装在到CPSR,切换到未定义模式;对未定义模式下的特有缓冲器R13赋值

  MRSR0,CPSRBICR0,R0,#0x1FORRR0,R0,#0x12MSRCPSR_c,R0MOVR13,#5

  ;复制CPSR到R0;清楚R0的后5位

  ;设定R0的最后5位为10010

  ;把R0装在到CPSR,切换到外部中断模式;对快外部中断模式下的特有缓冲器R13赋值

篇二:

XX完整ARM嵌入式系统实验报告

  郑州航空工业管理学院

  嵌入式系统实验报告

  (修订版)

  20第

  赵成,张克新编著

  院姓专学

  系:

名:

业:

号:

  电子通信工程系

  XX年3月制

  实验一ARM体系结构与编程方法

  一、实验目的

  了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2IDE中进行ARM汇编语言程序设计。

  二、实验内容

  1.ADS1.2IDE的安装、环境配置及工程项目的建立;2.ARM汇编语言程序设计(参考附录A):

  

(1)两个寄存器值相加;

(2)LDR、STR指令操作;

  (3)使用多寄存器传送指令进行数据复制;(4)使用查表法实现程序跳转;(5)使用BX指令切换处理器状态;(6)微处理器工作模式切换;

  三、预备知识

  了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。

  四、实验设备1.硬件环境配置

  计算机:

Intel(R)Pentium(R)及以上;内存:

1GB及以上;

  实验设备:

UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器;2.软件环境配置

  操作系统:

MicrosoftWindowsXPProfessionalServicePack2;集成开发环境:

ARMDeveloperSuite(ADS)1.2。

  五、实验分析

  1.安装的ADS1.2IDE中包括两个软件组件。

在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。

  2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。

  ;文件名:

  3.列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。

4.“使用多寄存器传送指令进行数据复制”汇编程序分析。

  LDRR0,=SrcData;执行后,R0的值是

  LDRR1,=DstData;执行后,R1的值是LDMIAR0,{R2-R9};LDMIA中的指令后缀IA表示;STMIAR1,{R2-R9};执行后,程序实现的功能是;5.在“使用查表法实现程序跳转”的汇编程序中,指令LDRPC,[PC,R2]采用的是什么寻址方式?

作为基址的寄存器PC的值是多少?

作为指令指针的PC又指向哪条指令?

这个指令与流水线执行的关系是什么?

(选做)

  6.通过运行及观察“使用BX指令切换处理器状态”汇编程序实验,回答ARM指令与Thumb指令之间是如何实现状态切换的?

AXDDebugger调试环境中的哪个寄存器指示了ARM微处理器当前的指令状态?

同时,在程序中添加从Thumb指令切换到ARM指令的代码。

(选做)

  7.观察“微处理器工作模式切换”程序的运行,按顺序写出ARM工作模式切换过程中依次出现的工作模式,同时,通过观察回答ARM微处理器是否能从用户模式切换到特权模式?

(选做)

  六、遇到的问题及解决方法

  实验二VMWARE虚拟机与Linux环境的建立

  一、实验目的

  熟悉嵌入式系统开发环境的建立,掌握VMWARE-Linux环境的安装步骤;能够配置Samba服务、设置VMWARE虚拟机共享功能,学会Windows系统环境与Linux系统环境共享资源的基本方法。

  二、实验内容

  1.在Windows系统环境中安装VMWARE7.0虚拟机软件;2.在VMWARE7.0虚拟机中安装LinuxRHELAS4操作系统;3.设置VMWARE虚拟机提供的共享功能;4.在Linux系统中建立Samba服务;

  三、预备知识

  了解VMWARE、VirtualBox、VirtualPC等虚拟机软件的相关知识;了解Linux操作系统的安装方法及基本操作方法。

  四、实验设备

  1.硬件环境配置

  计算机:

Intel(R)Pentium(R)及以上内存:

1GB及以上

  实验设备:

UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器2.软件环境配置

  操作系统:

MicrosoftWindowsXPProfessionalServicePack2虚拟机:

VMwareWorkStation7

  Linux系统:

RedHatEnterpriseLinuxAS4(2.6.9-5.EL)

  五、实验分析

  1.查看实验设备中配备的PC机,将下列硬件型号填写正确:

  ?

CPU型号:

?

内存大小:

?

硬盘空间:

  根据实验的实际操作,将下列软件版本号填写正确:

  ?

VMWARE:

?

Linux系统:

?

Windows系统:

  2.在VMWARE软件中安装RHEL4虚拟机时,出现网络连接方式的设置界面,如下图,提供了四个选项:

桥接(bridgednetworking)、NAT(NetworkAddressTranslation)、host-only及无需连接。

应该选择哪种方式?

并解释其他方式的特点。

  图设置网络连接方式

  3.根据在Linux系统中的实际操作方法,按实验步骤简要说明Samba服务的设置与测试过程。

  4.参考教材中的实践指导部分,在Linux系统环境中安装VMWARETools软件,观察安装过程中的交互提示。

安装成功后,系统给出了什么提示信息?

怎样从VMWARE的VM菜单中设置Windows-Linux共享功能?

  六、遇到的问题及解决办法

篇三:

ARM嵌入式实验报告完整篇

  《ARM嵌入式系统》

  实验报告

  学

  班

  学

  生姓名级号刘宝雨测控1002班10401600244

  电气与信息工程学院

  XX年4月20日

  目录

  目

  录………………………………………………………………….1

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

  一、实验目的…………………………………………………………………………….………2

  二.实验设备……………………………………………………………………………….……2

  三.实验内容…………………………………………………………………………………….2

  四.实验原理…………………………………………………………………………………….2

  五.实验操作步骤……………………………………………………………………………….2

  六.实验报告………………………………………………………………………………………………………………….10实验二ARM汇编指令实验2……………………………10

  一、实验目的………………………………………………………………………...…………10

  二.实验设备……………………………………………………………………………………10

  三.实验内容……………………………………………………………………………..…….10

  四.实验原理………………………………………………………………………….………..10

  五.实验操作步骤………………………………………………………………………………11

  六.实验报告…………………………………………………………………………………………………………..……..18实验三会编与C语言的相互调用实验…………………18

  一、实验目的……………………………………………………………………………,……..18

  二.实验设备…………………………………………………………………………,,,,,,…….18

  三.实验内容…………………………………………………………………………,,,,,,,……18

  四.实验原理……………………………………………………………………………,,,……19

  五.实验操作步骤………………………………………………………………………,,,,,,….20

  六.实验报告………………………………………………………………………,,,,,,……….22

  实验一ARM汇编指令实验1

  一、实验目的

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

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

  二.实验设备

  1.硬件:

PC机;

  2.软件:

EmbestIDEXX集成开发环境。

Windows98/XX/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。

  2.存储器格式

  ARM体系结构将存储器看作是从零地址开始的字节的线性组合。

字节0~3存放第一个字,字节4~7存放第2个字,以此类推。

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

  3.GNU基础知识

  EmbestIDE集成了GNU汇编器as、编译器gcc和链接器ld。

因此,编写程序要符合CNU的语法和规则。

关于as.gcc和ld的具体使用,请参照EmbestIDE所带的电子文档ProgRef.chm。

  五.实验操作步骤

  1.实验A

  

(1)新建工程:

先建立一个实验文件夹,如E\DK07101\001_asm1。

运行EmbestIDE集成开发环境,选择File→NewWorkspace菜单项,弹出一个对话框,按照图1.1输入工程名asm1_a等相关内容。

单击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。

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

  图1.1新建工作区

  

(2)建立源文件:

选择File→New菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。

编辑完后,保存文件asml_a.s。

  (3)添加源文件:

选择Project→AddToProject→File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件asml_a.s。

  图1.2新的工作区处理器设置

  (4)基本设置:

选择Project→Settings…菜单项,或按下快捷键Alt+F7,弹出工程设置对话框。

在工程设置对话框中,选择Processor属性页,按照图1.2对目标板所用处理器进行设置。

  (5)生成目标代码:

选择Build→Buildasm_a菜单项,或按下快捷键F7,生成目标代码。

也可以单击工具栏上相应按钮来完成。

  (6)调试设置:

选择选择Project→Settings…菜单项,或按下快捷键Alt+F7,弹出工程设置对话框。

在工程设置对话框中,选择Remote页面,按照图1.3所示对调试设备模块进行设置。

  图1.3新工作区仿真器设置

  选择Debug页面,按照图1.4所示进行调试模块设置。

  (a)连接相关设置(b)下载相关设置

  图1.4新工作区调试器配置

  (7)选择Debug→RemoteConnect连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。

  (8)打开存储器窗口,观察地址0x8000~0x801F的内容,以及地址

  0xFF0~0xFFF的内容。

  (9)单步执行程序并观察和记录寄存器与存储器值的变化。

  (10)结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令的使用。

  实验A参考程序

  areablock,code,readonly

  entry

  xequ45;定义变量x,并赋值为45

  yequ64;定义变量y,并赋值为

  equstack_top,0x1000;定义栈顶0x1000

  globalstart

  text

  _start;程序代码开始标志

  MOVsp,#stack_top

  MOVr0,#x;x的值放入R0

  STRr0,[sp];R0的值保存到堆栈

  MOVr0,#y;y的值放入R0

  LDRr1,[sp];取堆栈中的数到R1

  ADDr0,r0,r1

  STRr0,[sp]

  stop

  Bstop;程序结束,进入死循环

  End

  实验A上机操作及其仿真茹下图所示:

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

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1