网站大量收购独家精品文档,联系QQ:2885784924

S3C2440A_编程模式.pdf

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

第二章 编程模式 从编程者的角度看,ARM920T可以处于下面两种状态中的一种: ● ARM状态:执行32位字对齐的ARM指令集 ● THUMB状态:可以执行26位半字对齐的THUMB指令集。在这种状态下PC用位1在半字间选 择。 注意:在两种状态间切换不影响处理器状态和寄存器的内容。 转换状态 进入THUMB状态 a、在操作数寄存器状态位(bit0)置位的情况下执行BX指令可以进入THUMB状态 b、如果在THUMB状态发生中断,从中断返回时将自动进入THUMB状态 进入ARM状态 a、在操作数寄存器状态位(bit0)清零的情况下执行BX指令可以进入THUMB状态 b、在处理器进入中断时。此时,PC值被放在中断模式连接寄存器中,然后跳到中断的 向量地址执行命令 存储格式 ARM920T将存储体堪称是从0开始的字节集合。0~3字节放第一个储存字,4~7字节放第二 个等等。字的存储方式有Big-Endian (大端)和Little-Endian (小端)两种类型。 指令长度: 32位的ARM指令或16位的THUMB指令。 七种操作模式User、FIQ、IRQ、Supervisor、Abort mode、System、Undefined ARM状态寄存器分配 THUMB状态寄存器分配 ARM和THUMB状态寄存器对应关系 CPSR寄存器 V、C、Z、N为条件位,算术和逻辑运算可以改变它的值,其值也用来做指令的执行条件。 控制位: T:反映操作的状态 1:THUMB状态 I、F:中断禁止位 1:禁止IRQ,FRQ中断响应 M0~M4:不同的组合决定处理器的操作模式 注意改变PSR中标志时不要改变了保留位。 关于寄存器更具体的说明可以查看杜雷春编的 《ARM体系结构与编程》 异常 处理器暂时中止正常的流水线。 进入异常处理的步骤: 1、保存下一条指令地址到相应的连接寄存器。 2、将CPSR拷贝到SPSR 3、设置CPSR中模式位为相应的模式 4、从相关中断向量中取得下一条指令地址 若发生异常时处理器正处在THUMB状态,将自动切换到ARM状态。 离开异常状态: 1、将LR减去一个适 的偏移量后放入PC 2、拷贝SPSR到CPSR 3、清除进入异常时设置的终端禁止 注意从THUMB进入异常返回后不需要转换回THUMB状态,因为从SPSR恢复的CPSR已经设置了T位。 Table2-2总结了进入异常时保存在R14中的PC值,和推荐的从异常返回的指令。 FIQ 快速中断请求 通过保持nFIQ输入引脚的低电平可以产生FIQ中断。ISYNC引脚能决定nFIQ和nIRQ的同步异步 状态。ISYNC为低时nFIQ和nIRQ被看作是异步的。 CPSR中F标志为0’时ARM920T在每条指令的结 束检查FIQ同步器输出的低电平。 IRQ 普通中断请求 通过拉低nIRQ输入引脚产生,有限级低于FIQ。 RESET 重启 nRESER为低电平时,ARM920T放弃执行的指令,然后接着从增加的字 址取指令。 nRESER回到高电平时,ARM920T拷贝当前PC、CPSR到R14_svc和SPSR_svc,然后将M[4:0] 设为10011 (特权模式),置位I,F标志位,PC从0x00开始取指令,恢复到ARM状态。 中断向量表: 中断优先级: 从高到低为:重启,数据中止,FIQ,IRQ,指令中止,未定义指令和SWI

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档