ARM汇编第5章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
因为ARM920T核会把当前PC的值保存到R14_irq中,该值在ARM状态下,对应当前指令后的第2条指令的地址。IRQ中断返回时,就需要通过下面指令来实现回到断点下第1条指令处执行: SUBS PC, LR, #4 同时将SPSR_irq内容复制到当前CPSR中。 中断编程模式 S3C2410芯片的I/O端口或部件若采用中断方式控制操作时,其编程的内容实际上涉及四部分,既: 建立系统中断向量表,并且设置ARM920T核的程序状态寄存器CPSR中的F位和I位。 设置S3C2410芯片中56个中断源的中断向量。 中断控制初始化。 完成I/O端口或部件具体操作功能的中断服务程序。 上述四部分的程序,第一部分应属于系统引导程序完成的功能。用户在开发嵌入式系统时若使用的是现成硬件平台,则用户对第一部分的程序通常不需要进行编写,因为现成的硬件平台已带有系统引导程序,用户主要需编写的是后三部分的程序。 中断实例 完成一个S3C2410芯片中断源的中断控制程序的编写,需要完成上述的四部分编程内容。第一部分的实际上是引导程序的部分功能,已经在第三讲介绍。下面介绍其他几部分的编程内容。 实例详见附录中的实例。 第五章 中断机制 嵌入式系统的硬件平台是由微处理器(或微控制器)、存储器、I/O端口及设备组成。I/O接口部件是嵌入式系统的关键组成部分。 控制I/O接口部件的方式主要有:程序查询、中断控制、DMA方式 等。 中断技术主要是用于I/O接口部件与微处理器之间进行数据传输的控制,它协调了数据传输的双方的步调。 §5.1 中断控制方式原理 嵌入式系统中,微处理器控制I/O端口或部件的数据传送方式有2种:程序查询方式和中断方式。 程序查询方式是由微处理器周期性地执行一段查询程序来读取I/O端口或部件中状态寄存器的内容,并判断其状态,从而使微处理器与I/O端口或部件在进行数据、命令传送时保持同步。 程序查询方式的特点 程序查询方式下,微处理器的效率是非常低的,因为微处理器要花费大量的时间测试I/O端口或部件的状态。并且,I/O端口或部件的数据也不能得到实时地处理。 中断方式特点 中断方式是I/O端口或部件在完成了一个I/O操作后,产生一个信号给微处理器,这个信号叫做“中断请求”,微处理器响应这个请求信号,停止其当前的程序操作,而转向对该I/O端口或部件进行新的读/写操作。 特点: 实时性能好 调试复杂 中断的形象示意: 中断方式控制的I/O操作步骤 初始化微处理器中用于中断方式的寄存器,开放中断。 I/O端口或部件完成数据操作后并产生中断请求信号。 当中断请求信号有效时,微处理器可能处在不可中断状态。等到微处理器允许中断时,微处理器就保存当前状态,停止它现行的操作并开始进行中断源的识别。 在识别出优先级最高的中断源后,微处理器转到对应的中断服务例程入口,并应答中断,I/O端口或部件收到应答信号后,撤消其中断请求。 微处理器读入或写出数据,当中断服务例程结束后,回到原来的被中断程序处继续执行。 中断源及其识别方法 嵌入式系统中,需要采用中断控制方式的I/O端口或部件有许多,如S3C2410芯片中就有56个中断源。而通常微处理器能够提供的中断请求信号线是有限的,如ARM920T核提供给外部的中断请求信号线仅有IRQ和FIQ两根。因此,当有中断产生时,微处理器就必须通过一定的方式识别出是哪个中断源发来的请求信号,以便转向其对应的中断服务程序例程,这就是中断源的识别。 向量识别中断 向量识别中断就是微处理器响应中断后,要求中断源提供一个地址信息,该地址信息称为中断向量(或叫中断矢量),微处理器根据中断向量(矢量)转移到中断复位程序处执行。所以,中断向量就是中断服务程序的入口地址。 根据形成中断服务程序入口地址机制的不同,向量中断可分为: 固定中断向量 可变中断向量 中断优先级仲裁 若嵌入式系统中由多个中断源,则这些中断源必须要进行中断优先级的排列。所谓优先级,指的以下两层含义: 若有2个及2个以上的中断源同时提出中断请求,微处理器先响应哪个中断源,后响应哪个中断源。 若1个中断源提出中断请求,并得到响应后,又有1个中断源提出中断请求,后来的中断源能否中断前一个中断源的中断服务程序。 中断优先级电路 中断优先级通常用硬件电路实现,常用的电路有: “菊花链”中断优先级电路 中断优先级编码电路 适用于外部中断源比较少的场合, 能实现多中断请求时中断优先级的 排序和多层中断时的中断级别判别 菊花链排队电路 中断优先级编码电路 §5.2 S3C2410的中断系统 实际上,S3C2410的中断系统分成两级,一级是控制内部外围I/O端口或部件、或者芯片外部中断引脚(EINTn)的中断控制;另一级是ARM920T核的异常中断控制,采用

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档