体系结构及GPIO完整版.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验二ARM体系结构及GPIO

一实验目的

了解并掌握ARM7芯片的体系结构,能纯熟的对个端口进行操作,熟悉嵌入式系统设计和调试的基本技术。

二实验任务

1熟悉和掌握ADS1.2软件的使用。

2运用ARM实验开发平台,了解系统启动流程,端口控制程序,并完毕调试工作。

三实验设备

1PC机一台

2ARM实验开发板及相关设备一套

3ADS1.2开发软件一套

四实验原理

ARM体系结构概述

从最初开发到现在,ARM指令集体系结构有了巨大的改善,并在不断完善和发展。为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了5种重要的ARM指令集体系结构版本,以版本号vl—v5表达。

(1)版本1(v1)在ARM1中使用,由于只有26位的寻址空间(现已废弃不用)从为商业化,该版本涉及;

●基本的数据解决指令(不涉及乘法);

●字节、字和半字加载、存储指令;

●分支指令(branch),涉及在子程序调用中使用的分支和链接指令;

●在操作系统调用中使用的软件中断指令;

(2)版本2(v2)仍然只有26位寻址空间(现己废弃不用),但相对版本1增长了以下内容:

●乘法和乘加指令;

●协解决器支持;

●快速中断模式中的两个以上的分组寄存器;

●原子性加载存储指令SWP和SWPB(稍后版本中称作v2a);

(3)版本3(v3)将寻址范围扩展到32位;先前存储于R15的程序状态信息存储在新的当前程序状态寄存器(CPSR)中,且增长了程序状态保存寄存器(SPSR),以便出现异常时保存CPSR中的内容。此外,版本3还增长了两种解决器模式,以便在操作系统代码中有效地使用数据中止(DataAbort)、取值中止(PrefetchAbort)和未定义指令异常(UndefinedInstructionException)。相应地,版本3指令集发生如下改变:

●增长了两个指令MRS和MSR允许访问新的CPSR和SPSR寄存器;

●修改过去用于异常返回指令的功能,以便继续使用。

(4)版本4(v4)不再强制规定与以前的版本兼容以支持26位体系结构,清楚地指明哪个指令会引起未定义指令异常发生。版本4在版本3的基础上增长了如下内容:

●半字加载/存储指令;

●字节和半字的加载和符号扩展(sign-extend)指令;

●在T变量中,转换到Thumb状态的指令;

●使用用户(User)模式寄存器的新的特权解决器模式。

(5)版本5(v5)在版本4的基础上,对现有指令的定义进行了必要的修正,对版本4体系结构进行了扩展,并增长了指令,具体如下:

●改善在T变量中ARM/Thumb状态之间的切换效率;

●允许非T变量和T变量同样,使用相同的代码生成技术;

●增长讨“数的导零指令,允许更有效的整数除法和中断优先程序;

●增长软件断点指令;

●增长更多可选择的指令以方便协解决器设计者:

●对乘法指令如何设立标志进行了严格的定义。

数据类型

ARM解决器支持下列数据类型:

●Byte 字节,8位

●Halfword半字,16位(半宁必须和2字节边界对准)

●Word 字,32位(字必须与4字节边界对准)

ARM微解决器的工作状态

ARM微解决器的工作状态一般有两种,并可在两种状态之间切换:

●ARM状态:此时解决器执行32位的字对齐的ARM指令;

●Thumb状态,:此时解决器执行16位的、半字对齐的Thumb指令。

THUMB指令是ARM指令的子集,它们之间可以互相调用,只要遵循一定的调用规则。当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微解决器从ARM状态切换到Thumb状态。当解决器处在Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常解决返回时,自动切换到Thumb状态。当操作数寄存器的状态位为0时,执行BX指令时可以使微解决器从Thumb状态切换到ARM状态。在解决器进行异常解决时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使解决器切换到ARM状态。

解决器模式

ARM体系结构支持7种解决器模式,软件控制、外部中断和异常解决都可以使模式发生改变。

●用户模式(usr):ARM解决器正常的程序执行状态;

●快速中断模式(fiq):用于高速数据传输或通道解决;

●普通中断模式(irq):用于通用的中断解决;

●服务模式(svc):操作系统使用的保护模式;

●中止模式(abt):用于虚拟存储及存储保护;

●未定义模式(und

您可能关注的文档

文档评论(0)

南江月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档