1 / 25
文档名称:

ARM嵌入式系统实验报告.doc

格式:doc   大小:342KB   页数:25页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ARM嵌入式系统实验报告.doc

上传人:rdwiirh 2020/4/21 文件大小:342 KB

下载得到文件列表

ARM嵌入式系统实验报告.doc

文档介绍

文档介绍:郑州航空工业管理学院嵌入式系统实验报告2013–2014第2学期赵成,张克新院系: 电子通信工程系姓名: 周振宇专业: 物联网工程学号: 电子通信工程系2014年3月制实验一 ARM体系结构与编程方法一、实验目的了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,。二、、环境配置及工程项目的建立;(参考附录A):(1)两个寄存器值相加;(2)LDR、STR指令操作;(3)使用多寄存器传送指令进行数据复制;(4)使用查表法实现程序跳转;(5)使用BX指令切换处理器状态;(6)微处理器工作模式切换;三、预备知识了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。四、:Intel(R)Pentium(R)及以上;内存:1GB及以上;实验设备:ARM2410-S嵌入式开发平台,J-LinkV8仿真器;:MicrosoftWindowsXPProfessionalServicePack2;集成开发环境:ARMDeveloperSuite(ADS)。五、。(ARM可执行映像)类型的工程,工程目标配置为Debug;接着,还需要对工程进行目标设置、语言设置及链接器设置;最后,配置仿真环境为ARMUL仿真方式。,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。;文件名:.s AREA XTF,CODE,READONLY ENTRY CODE32 SART MOV R1,#1 MOV R2,#2 ADD R0,R1,R2 HALTB HALT END 声明代码段XTF标识程序入口声明32位ARM指令设置参数R0<---R1+、STR指令的汇编程序,并在关键语句后面给出相应的注释。 AREA XTF,CODE,READONLY ;声明代码段XTF ENTRY ;标示程序入口 CODE32 ;声明32位ARM指令 START LDR R0,=1 ;加载数据 LDR R1,=2 LDR R3,=ADDR_1 ;载符号地址 ADD R2,R0,R1 ;R2<---R0+R1 STR R2,[R3] ;R2--->[R3];数据空间定义 AREA Data_1,DATA,ALIGN=2 ADDR_1 DCD 0 END ;结束4.“使用多寄存器传送指令进行数据复制”汇编程序分析。LDR R0,=SrcData ;执行后,R0的值是标号SrcData的地址 LDR R1,=DstData ;执行后,R1的值是标号DstDatad 的地址 LDMIA R0,{R2-R9} ;LDMIA中的指令后缀IA表示IncreaseAfter,即 每次传送后地址加4,[R0]-->R2,[R0+4]-->R3,…,[R0+28]-->R9 STMIA R1,{R2-R9} ;执行后,程序实现的功能是[R1]<--R2,[R1+4]<--R3,…,[R1+28]<--R9 “使用查表法实现程序跳转”的汇编程序中,指令LDRPC,[PC,R2]采用的是什么寻址方式?作为基址的寄存器PC的值是多少?作为指令指针的PC又指向哪条指令?这个指令与流水线执行的关系是什么?(选做)答:1)基址加变址寻址;2)PC<----[PC+R2],即PC中存放的是当前PC值加上寄存器R2中的内容形成的有效地址中的操作数;3)对于ARM指令集,PC总是只想当前指令的下两条指令,即PC的值为当前指令的地址值加上8个字节(每条指令占4个字节)。“使用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指令状态;为n