ARM嵌入式系统与应用 实验报告

ARM嵌入式系统与应用 实验报告

ID:41062534

大小:1.04 MB

页数:32页

时间:2019-08-15

ARM嵌入式系统与应用 实验报告_第1页
ARM嵌入式系统与应用 实验报告_第2页
ARM嵌入式系统与应用 实验报告_第3页
ARM嵌入式系统与应用 实验报告_第4页
ARM嵌入式系统与应用 实验报告_第5页
资源描述:

《ARM嵌入式系统与应用 实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、华中科技大学武昌分校信息科学与技术系ARM嵌入式系统与应用实验报告专业班级:通信工程0801学号______20081181003______姓名_______朱焱_________实验老师_______刘丽___总评分_______________________实验一汇编指令试验一、实验目的?掌握ARM7TMDI汇编指令的用法,并能编写简单的汇编程序;?学习ARM微控制器的16位Thumb汇编指令的使用方法?掌握指令的条件执行二、实验设备?硬件:嵌入式实验平台一套、仿真器一个、PC机一台。?软件:Windows98/2000/NT/XP操作系统、仿真器驱动程序、ADS开发软件一套。

2、三、实验内容分别使用ARM、Thumb指令ADD,MOV,CMP,B计算1+2+3+…+N的值。四、实验原理ARM处理器共有两种工作状态:?ARM32位,这种状态下执行字对准的ARM指令。?Thumb16位,这种状态下执行半字对准的Thumb指令。注意:ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容。ARM处理器在两种工作状态之间可以切换。(1)进入Thumb状态。当操作数寄存器的状态位0为1时,执行BX指令进入Thumb状态。如果处理器在Thumb状态进入异常,则当从异常出来(IRQ、FIQ、Undef、Abort、SWI)返回时,自动切换到Thumb状态。(2)进

3、入ARM状态。当操作数寄存器的状态位0为0时,执行BX指令进入ARM状态。处理器进行异常处理(IRQ、FIQ、Undef、Abort、SWI)。在此情况下,把PC放入异常模式链接寄存器中。从异常向量地址开始执行也可以进入ARM状态。Thumb状态下的寄存器集是ARM状态下寄存器集的子集。程序员可以直接访问8个通用寄存器(R0-R7)、PC、SP、LR和CPSP。每一种特权模式都有一组SP、LR和SPSR。?Thumb状态的R0-R7与ARM状态的R0-R7一致。?Thumb状态的CPSR和SPSR与ARM状态下的CPSR和SPSR一致。?Thumb状态的SP映射到ARM状态的R13。?

4、Thumb状态的LR映射到ARM状态的R14。?Thumb状态的PC映射到ARM状态的PC(R15)。本程序使用R0保存结果,所以一开始就要初始化为0;循环执行R0=R0+R1,R1为循环计数器,从1开始计数,每一次循环R1加1;当循环计数器R1的值到达N时,运算结束。五、实验操作步骤1.启动ADS1.2,使用ARMExecuatableImage工程模板建立一个工程ASM_Project。2.建立源文件test2.s,编写实验程序,然后添加到工程中(ARM指令和Thumb指令实验的test2.s程序源码分别见下清单)。3.设置工程链接地址ROBase为0x0C0000004.编译链接

5、工程,选择【Project】->【Debug】,启动AXD进行调试。5.打开寄存器窗口(ProcessorRegisters),选择Current项监视各寄存器的值。6.单步运行程序,注意执行BXR0指令前后CPSR寄存器的T位。说明:在寄存器窗口的CPSR寄存器,大写字母的位表示该位为1,小写字母的位表示该位为0(比如“T”表示T位为1,“t”表示T位为0)。7.理解并掌握本实验原理及程序,完成练习题六、实验参考程序Thumb汇编指令实验的参考程序代码清单;文件名:test.s;功能:计算1+2+3+…+N的值NEQU50定义N的值为50AREAtestcode,CODE,READO

6、NLY区域名为testcode,代码,只读ENTRY入口CODE32ARM_CODELDRSP,=0x40003F00sp=0x40003F00ADRR0,THUMB_CODE+1将分支目标地址送R0,使R1的bit[0]=1BXR0分支并且转换为thumb状态LTORGCODE16汇编以下代码为thumb指令THUMB_CODELDRR0,=N伪指令R0=50BLSUM_N跳转到SUM_N执行BTHUMB_CODE跳转到THUMB_CODE,thumb模式;名称:SUM_N;功能:计算1+2+3+…+N的值;入口参数:R0(N的值);出口参数:R0(运算结果)SUM_NPUSH{R1

7、-R7,LR}MOVSR2,R0R0的内容放入R2BEQSUM_END相等转到SUM_ENDCMPR2,#1R2与1比较,设置标志位BEQSUM_END相等转到SUM_ENDMOVR1,#1将1送入R1MOVR0,#0将0送入R0SUM_L1ADDR0,R1R0=R0+R1BCSSUM_ERRCMPR1,R2R1与R2比较,设置标志位BHSSUM_ENDADDR1,#1R0=R0+1BSUM_L1转到SUM_L1SUM_ERRMOVR0,#0_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。