1 / 23

第十二讲 C6000 的中断系统

第十二讲 C6000 的中断系统. 内容提要. C6000 的中断机制 中断的硬件响应 中断源的选择与使能控制 中断向量表 中断处理的时序与延迟 中断服务程序. 引子. 什么是中断 为什么需要中断系统 处理器需要怎样做支持中断 Storage of interrupt requests Program controlled enabling and masking Forced branch to a new program Saving the program state Cause identification State restoration

Download Presentation

第十二讲 C6000 的中断系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十二讲 C6000的中断系统 BIT / TI

  2. 内容提要 • C6000的中断机制 • 中断的硬件响应 • 中断源的选择与使能控制 • 中断向量表 • 中断处理的时序与延迟 • 中断服务程序 BIT / TI

  3. 引子 • 什么是中断 • 为什么需要中断系统 • 处理器需要怎样做支持中断 • Storage of interrupt requests • Program controlled enabling and masking • Forced branch to a new program • Saving the program state • Cause identification • State restoration 引自:Encyclopedia of Computer Science and Engineering BIT / TI

  4. 概述— C6000中断 • 中断事件——32个 • 中断源——同时处理14个(15) • 中断事件选择 • 外中断信号4 (8/12)个 • 8个控制寄存器 BIT / TI

  5. 概述—中断源 • 按优先级分为三类 BIT / TI

  6. 概述—中断事件 I C6201/6202/6701的中断事件(16/18) BIT / TI

  7. 概述—中断事件 II C6211/6711的中断事件(13) BIT / TI

  8. 中断处理—寄存器 -->GIE -->poll 中断控制寄存器 BIT / TI

  9. 中断处理—寄存器 中断控制寄存器 BIT / TI

  10. 中断处理—中断识别的控制 • 外部事件被捕获 • 每一个中断的单独使能 • 中断的全局使能 BIT / TI

  11. 中断处理—管脚 • 4个可屏蔽的外部中断 • 2个不可屏蔽中断 • 中断响应和标识 BIT / TI

  12. 中断处理—外中断信号的识别 • 异步信号被同步(延迟2~3) • 中断标志被置位 • 输出中断确认信号以及中断号 BIT / TI

  13. 中断处理—后处理 中断被识别之后,如果被使能… BIT / TI

  14. 中断处理—响应过程 • 排空流水线 • 信号—处理总共延迟 6 +5 cycle BIT / TI

  15. ISR—中断向量 • 每一个中断源对应中断向量有相对固定的存放位置 • 每个中断向量长度8word • c6000的中断向量实际是对应中断的ISR BIT / TI

  16. ISR—向量表 如果ISR足够小 BIT / TI

  17. ISR—大的ISR BIT / TI

  18. ISR— ISTP ISTP • 给出中断向量表的基地址 • 256-word 边界对齐 • 用于IST的重定位 • reset向量必须在地址0处 BIT / TI

  19. ISR—环境的保护 • 保存在ISR中使用的寄存器 • 如果需要嵌套中断,必须保存CSR和IRP • 可以应用堆栈,在汇编程序进行环境保护 • C编译器可以自动完成有关环境的保护 BIT / TI

  20. ISR — C ISR & VECTOR • 必须在C的ISR中采用interrupt关键字 • 没有入口参数 • 没有返回值 • 由C编译器完成环境的保护 • 利用IER/CSR cregister进行中断的禁止/使能 • 建议:内部避免程序调用 BIT / TI

  21. ISR — C ISR & VECTOR 当采用C ISRs时,如何创建与C环境兼容的中断向量? 1.保护有关的寄存器 2.安全的跳转向ISR BIT / TI

  22. ISR — 返回主程序 完成返回的代码: • 当转向ISR时,下一个EP的地址自动被保存在IRP/NRP中 • 在ISR的末尾,由B IRP/NRP完成跳转返回 • 执行 B IRP时,PGIEGIE • 执行 B NRP时,NMIE=1 BIT / TI

  23. 内容总结 • 中断响应事件与响应条件 • 中断服务的自动处理的任务 • 什么是ISPT • 中断的返回 • 中断软件的编制 BIT / TI

More Related