arm嵌入式实验报告完整版_第1页
arm嵌入式实验报告完整版_第2页
arm嵌入式实验报告完整版_第3页
arm嵌入式实验报告完整版_第4页
arm嵌入式实验报告完整版_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

arm嵌入式实验报告完整版篇一:ARM嵌入式系统实验报告1郑州航空工业管理学院嵌入式系统实验报告第赵成,张克新院姓专学系:名:业:号:电子通信工程系周振宇物联网工程121309140电子通信工程系XX年3月制实验一ARM体系结构与编程方法一、 实验目的了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2IDE中进行ARM汇编语言程序设计。二、 实验内容ADS1.2IDE的安装、环境配置及工程项目的建立;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嵌入式实验报告完整版)ADDR0,R1,R2列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。AREAXTF,CODE,READONLY;声明代码段XTFENTRY;标示程序入口CODE32;声明32位ARM指令STARTLDRR0,=1;加载数据LDRR1,=2LDRR3,=ADDR_1;载符号地址ADDR2,R0,R1;R2[R3];数据空间定义AREAData_1,DATA,ALIGN=2ADDR_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调试环境中的哪个寄存器指示7ARM微处理器当前的指令状态?同时,在程序中添加从Thumb指令切换到ARM指令的代码。(选做)答:1)BX指令使用寄存器作为参数,当32位操作数寄存器的第0位的值为1时,执行BX指令后,ARM处理器从16位半字节对齐ARM指令状态切换到32位字对齐Thumb指令状态;当32位操作数寄存器的第0位为0时,ARM处理器从Thumb指令状态切换到32位ARM指令状态。CPSR的value值为nzcvqIFt_SVC时为ARM32指令状态;为nzcvqIFT_SVC时为Thumb16指令状态AREAXTF,CODE,READONLY;声明代码段XTFENTRY;标识程序入口CODE32;声明32位ARM指令SARTMOVR1,#1 ;设置参数MOVR2,#2ADDR0,R1,R2;R0Into_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,R9END7.观察“微处理器工作模式切换”程序的运行,按顺序写出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;指令状态标志「工作模式位M[4:0]通过软件控制模式位M即可控制ARMX作状态。;************************************************;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汇编语言程序设计。二、 实验内容ADS1.2IDE的安装、环境配置及工程项目的建立;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中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。;文件名:列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。4.“使用多寄存器传送指令进行数据复制”汇编程序分析。LDRR0,=SrcData;执行后,R0的值是LDRR1,=DstData;执行后,R1的值是LDMIAR0,{R2-R9} ;LDMIA中的指令后缀IA表示;STMIAR1,{R2-R9};执行后,程序实现的功能是;5.在“使用查表法实现程序跳转”的汇编程序中,指令LDRPC,[PC,R2]采用的是什么寻址方式?作为基址的寄存器PC的值是多少?作为指令指针的PC又指向哪条指令?这个指令与流水线执行的关系是什么?(选做)通过运行及观察“使用BX指令切换处理器状态”汇编程序实验,回答ARM指令与Thumb指令之间是如何实现状态切换的?AXDDebugger调试环境中的哪个寄存器指示了ARM微处理器当前的指令状态?同时,在程序中添加从Thumb指令切换到ARM指令的代码。(选做)观察“微处理器工作模式切换”程序的运行,按顺序写出ARM工作模式切换过程中依次出现的工作模式,同时,通过观察回答ARM微处理器是否能从用户模式切换到特权模式?(选做)六、遇到的问题及解决方法实验二VMWARE虚拟机与Linux环境的建立一、 实验目的熟悉嵌入式系统开发环境的建立,掌握VMWARE-Linux环境的安装步骤;能够配置Samba服务、设置VMWARE虚拟机共享功能,学会Windows系统环境与Linux系统环境共享资源的基本方法。二、 实验内容在Windows系统环境中安装VMWARE7.0虚拟机软件;在VMWARE7.0虚拟机中安装LinuxRHELAS4操作系统;设置VMWARE虚拟机提供的共享功能;4.在Linux系统中建立Samba服务;三、 预备知识了解VMWARE、VirtualBox、VirtualPC等虚拟机软件的相关知识;了解Linux操作系统的安装方法及基本操作方法。四、 实验设备硬件环境配置计算机:Intel(R)Pentium(R)及以上内存:1GB及以上实验设备:UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器2.软件环境配置操作系统:MicrosoftWindowsXPProfessionalServicePack2虚拟机:VMwareWorkStation7Linux系统:RedHatEnterpriseLinuxAS4(2.6.9-5.EL)五、 实验分析查看实验设备中配备的PC机,将下列硬件型号填写正确:?CPU型号:?内存大小:?硬盘空间:根据实验的实际操作,将下列软件版本号填写正确:?VMWARE:?Linux系统:?Windows系统:在VMWARE软件中安装RHEL4虚拟机时,出现网络连接方式的设置界面,如下图,提供了四个选项:桥接(bridgednetworking)、NAT(NetworkAddressTranslation)、host-only及无需连接。应该选择哪种方式?并解释其他方式的特点。图设置网络连接方式根据在Linux系统中的实际操作方法,按实验步骤简要说明Samba服务的设置与测试过程。参考教材中的实践指导部分,在Linux系统环境中安装VMWARETools软件,观察安装过程中的交互提示。安装成功后,系统给出了什么提示信息?怎样从VMWARE的VM菜单中设置Windows-Linux共享功能?六、遇到的问题及解决办法篇三:ARM嵌入式实验报告完整篇《ARM嵌入式系统》实验报告学班学生姓名级号刘宝雨测控1002班10401600244电气与信息工程学院XX年4月20日目录目录 ・...1ARM汇编指令实验1 2一、 实验目的 2二 实验设备 ……2实验内容 .2实验原理 .2实验操作步骤 .2实验报 .10实验二ARM汇编指令实验2 10一、实验目的 10二 实验设备 10实验内容 …….10实验原理 ..10实验操作步骤 11实验报 ……..18实验三会编与C语言的相互调用实验 18一、实验目的 ,……..18二 实验设备 ,,,,,, 18实验内容 18,,,,,,,实验原理 ,,,……19实验操作步骤 20,,,,,, ・JU实验报 ,,,,,, .22实验一ARM汇编指令实验1一、 实验目的初步学会使用EmbestIDEforARM开发环境及ARM软件模拟器;通过实验掌握简单ARM汇编指令的使用方法。实验设备硬件:PC机;2.软件:EmbestIDEXX集成开发环境。Windows98/XX/NT/XP。实验内容熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元。使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。实验原理、ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。ARM通用寄存器通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节0~3存放第一个字,字节4~7存放第2个字,以此类推。ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。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新建工作区建立源文件:选择File^New菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。编辑完后,保存文件asml_a.s。添加源文件:选择Project^AddToProject^File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件asm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论