- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM处理器的7种运行模式,除用户模式外,其余6种位特权模式。
Usr(用户模式) ARM微处理器正常程序执行模式;
Fid(快速中断模式)用于高速数据传输或通道模式;
Irq(外部中断模式)用于通用的中断处理;
Svc(管理模式) 操作系统使用的保护模式;
Abt(数据访问终止模式)当数据或指令预取终止时进入该模式,可用于虚拟存储或及存储保护;
Sys(系统模式)运行具有特权的操作系统任务;
Und(未定义指令终止模式)当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真;
ARM寄存器结构,共37个寄存器,31个通用寄存器,6个状态寄存器,理解特殊寄存器的用法。
通用寄存器(31个)
不分组寄存器(R0—R7)
分组寄存器(R8—R14)
PC指针(R15)
对于ARM指令集而言,PC总是指向当前指令的下两条指令的地址,即PC的值为当前指令的地址值加8个字节程序状态寄存器
状态寄存器(6个)
CPSR(1个)
所有处理器模式下都可访问当前程序状态寄存器CPSR。CPSR中包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。
? SPSR(5个)
SPSR?除usr、sys外,对应用于异常保护的CPSR的备份,异常时,保存CPSR值,异常退出时,将该值恢复到CPSR,以保证程序的正常运行,每一中异常运行模式(除usr和sys)有各自的物理寄存器。
特殊寄存器的用法
PC程序计数器:
对于ARM指令来说,PC总是指向当前指令下的两条指令的地址,即PC的值为当前指令地址值加8字节。
程序状态寄存器:
用来保存当前处理器以及其他状态和控制信息。
CPSR,SPSR分配,状态寄存器每个位的作用。
分配:
在所有处理器模式下都可以访问CPSR。CPSR包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保留CPSR的状态。
每个位的作用:
条件码标志
N:如果结果是带符号的二进制补码,若结果为负数,N=1,反之N=0;
Z:若指令的结果为0,则置Z=1(通常用于比较的结果为“相等”),反之则Z=0;
C:
-加法,若加法产生进位(无符号溢出),则C=1,反之C=0;
-减法,若减法产生借位(无符号溢出),则C=0,反之C=1;
-移位,C为移出值得最后一位。
-其他操作不变
V:
-加法或者减法,发生带符号溢出时,V=1,认为操作数和结果是补码形式的带符号整数。
-对于非加法/减法指令,V通常不变。
2.控制位
中断禁止位:
I=1,禁止IRQ中断
F=1,禁止FIQ中断
T位:
T=0,指示ARM执行
T=1,指示Thumb执行
模式控制位:
M4,M3,M2,M1和M0(M[4:0])是模式位,决定处理器的工作模式,
其他位:
保留以作扩展
ARM9处理器状态切换指令BX,ARM和Thumb的特点,ARM状态切换到Thumb状态的指令要求指示程序入口地址的寄存器的内容为奇数。
看(位[0])为1时,执行BX指令进入Thumb状态,当出现异常时,处理完异常返回时自动转入Thumb模式;
看(位[0])为0时,执行BX指令进入ARM状态,当出现异常时,把PC放入异常模式链接寄存器中。从异常向量地址开始执行也可以进入ARM状态。
ARM9处理器调用子程序的指令BL,子程序返回的指令MOV PC,R14。
BL的指令格式:BL{条件}目标地址
BL是一个跳转指令,在跳转之前,会在寄存器R14中保存PC的当前内容,因此,可以将R14的内容重新加载到PC中来返回跳转指令之后的那个指令处执行
大端模式和小端模式规则。
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中
压栈方式,满递增,满递减,空递增,空递减。
满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成
满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成
空递增堆栈:堆栈指针指向下一个要压入的数据的空位置,且由低地址向高地址生成
空递减堆栈:堆栈指针指向下一个要压入的数据的空位置,且由高地址向低地址生成
嵌入式系统的定义
以应用为中心,以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式计算机系统的硬件层的组成和功能。
嵌入式微处理器
是嵌入式系统硬件层的核心
存储器
用来存放和执行代码
通用设备接口和I/O接口
实现与外界设备交互
S3C2410A与配置I/O口相关的寄存器及功能。
S3C2410:是Samsung公司推出的16位/32位RI
文档评论(0)