am335x芯片笔记.doc

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

6 中断 6.1 功能描述 中断控制器通过屏蔽和优先级排序处理输入中断,产生中断信号给关联的CPU。图 6-1显示了中断处理顶级视图。 注:FIQ在通用(GP)设备上存在。 6.1.1 中断处理 6.1.1.1 输入选择 INTC仅支持电平触发输入中断检测。一个外设激活一个中断,并一直维持中断状态直到软件处理完这个中断,并指导外设清理中断。若MPU_INTC.INTC_ISR_SETn寄存器对应位被设置,一个软件中断产生(MPU子系统INTC的寄存器块号:n=[0,1,2,3],支持128个输入中断线)。当写MPU_INTC.INTC_ISR_CLEARn寄存器对应位时,软件中断清除。这个功能的经典使用是软件调试。 6.1.1.2 Masking 6.1.1.2.1 个别屏蔽 每一个中断输入线上的中断检测可以通过MPU_INTC.INTC_MIRn中断屏蔽寄存器独立使能或禁用。对应于一个没有屏蔽的输入中断,INTC可以产生两类中断请求中的一个给处理器。 IRQ:低优先级中断请求; FIQ:快速中断请求(在通用设备(GP)上不存在)。 中断请求的类型由M寄存器位PU_INTC.INTC_ILRm[0] FIQNIRQ(m=[0,127])位确定。 6.1.1.2.2 优先级屏蔽 为了使能高优先级中断的快速处理,提供了一个可编程的优先级屏蔽阀值(MPU_INTC.INTC_THRESHOLD[7:0] PRIORITYTHRESHOLD域)被提供。这个优先级阀值允许被更高的优先级中断抢占;所有的比阀值更低的或相等的优先级被屏蔽。然而,优先级 0 从不被这个阀值屏蔽;一个0阀值优先级处理方式和优先级1处理方式一样。PRIORITY和PRIORITYTHRESHOLD域值应该被设置为0x0和0x7之间;0x0是最高优先级,0x7是最低优先级。当优先级屏蔽不必须时,一个优先级阀值0xff禁用优先级阀值机制。这个值是复位默认值,向后兼容先前的INTC版本。 6.1.1.3 优先级排序 一个优先级级别(0是最高优先级)被指派到每一个输入中断线。优先级级别和中断请求类型在MPU_INTC.INTC_ILRm寄存器中配置。若多个输入中断线具有相同的优先级级别,则中断请求同时发生,最高序号中断被优先服务。当一个或多个未屏蔽的输入中断被检测到,INTC使用对应的MPU_INTC.INTC_ILRm[0] FIQNIRQ位分离IRQ中断和FIQ中断。若目前没有其他的中断处理,则结果在INTC_PENDING_IRQn或INTC_PENDING_FIQn,INTC激活IRQ/FIQ,启动优先级计算。IRQ和FIQ的优先级排序可以并行执行。每一个IRQ/FIQ优先级排序器决定最高优先级中断数。每一个优先级数处于对应的MPU_INTC.INTC_SIR_IRQ[6:0] ACTIVEIRQ域或MPU_INTC.INTC_SIR_FIQ[6:0] ACTIVEFIQ域。在对应的MPU_INTC.INTC_CONTROL NEWIRQAGR 或 NEWFIQAGR位被设置之前,值一直保留。一旦,中断的外设设备被服务,输入的中断无效,用户必须写合适的NEWIRQAGR 或NEWFIQAGR位表示INTC已经处理了此中断。若有任何挂起的这种请求的中断类型的未屏蔽的输入中断,INTC重新发起合适的优先级排序,否则IRQ或FIQ中断线无效。 6.1.2 寄存器保护 若MPU_INTC.INTC_PROTECTION[0] PROTECTION位置位,访问INTC寄存器仅限于超级用户模式。访问MPU_INTC.INTC_PROTECTION寄存器仅限于特权模式。更多信息参考6.5.1.7部分,INTC_PROTECTION寄存器(offset = 4Ch) [reset = 0h].。 6.1.3 模块省电 INTC在它的三个时钟域提供一个自动空闲功能: 接口时钟; 功能时钟; 同步时钟。 MPU_INTC.INTC_SYSCONFIG[0]寄存器AUTOIDLE位=1,接口时钟自动空闲省电式使能。当这种模式使能,总线接口上没有任何行为,模块的接口时钟无效,因此减少了电能损耗。当总线接口上有新的行为,接口时钟立即启动。复位后,默认这种模式无效。若MPU_INTC.INTC_IDLE[0]寄存器 FUNCIDLE位=0,功能时钟自动空闲模式使能。当这种模式使能,没有激活的中断(正在处理或产生的IQR或FIQ)或没有挂起的中断,模块的内部功能时钟无效,因此减少了电能消耗。 当一个新的未屏蔽的输入中断被检测到,功能时钟重启,INTC处理中断。若此种模式无效,中断延迟减少一个周期。复位后,此种模式默认无效。同步时钟运行外部异步中断在屏蔽前被重新同步

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档