版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式实时操作系统
及应用开发第七章中断管理嵌入式实时操作系统
及应用开发第七章中断管理中断中断:由于某种事件的发生而导致程序流程的改变。产生中断的事件称为中断源。CPU响应中断的条件:至少有一个中断源向CPU发出中断信号;系统允许中断,且对此中断信号未予屏蔽。中断中断:由于某种事件的发生而导致程序流程的改变。产生中断的嵌入式-中断管理课件中断服务程序ISR
中断一旦被识别,CPU会保存部分(或全部)运行上下文(context,即寄存器的值),然后跳转到专门的子程序去处理此次事件,称为中断服务子程序(ISR)。中断服务程序ISR中断一旦被识别,CPU会中断服务程序的主要内容:保存上下文:保存中断服务程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;获取中断相关的其他信息;对中断进行具体的处理;恢复保存的上下文;执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。中断服务程序ISR中断服务程序的主要内容:中断服务程序ISR中断服务程序ISR非预料事件是指事件发生的时间无法预知即中断源何时产生中断不确定,是随机的。但事件的性质及处理方法则是已知的,确定的
即中断服务程序是事先编写好的,只是何时执行未知。中断源产生中断的随机性使中断服务程序的执行也具有随机性
即何时执行中断服务程序不是在程序中安排好的。中断服务程序ISR非预料事件是指事件发生的时间无法预知在实际应用中,广义的中断通常被分为中断、自陷和异常(exception)等类别。中断是由于CPU外部的原因而改变程序执行流程的过程,属于异步事件,又称为硬件中断。自陷和异常则为同步事件;自陷表示通过处理器所拥有的软件指令、可预期地使处理器正在执行的程序的执行流程发生变化,以执行特定的程序。自陷是显式的事件,需要无条件地执行;异常为CPU自动产生的自陷,以处理异常事件。异常没有对应的处理器指令,当异常事件发生时,处理器也需要无条件地挂起当前运行的程序,执行特定的处理程序。中断在实际应用中,广义的中断通常被分为中断、自陷和异常(exce中断的分类分类方式硬件中断是否可以被屏蔽:可屏蔽中断和不可屏蔽中断中断源:硬件中断和软件中断中断信号的产生:边缘触发中断和电平触发中断中断服务程序的调用方式:向量中断、直接中断和间接中断中断的分类分类方式向量中断中断硬件设备的硬件中断线(也称为中断请求IRQ)被中断控制器汇集成中断向量(interruptvector);每个中断向量对应一个中断服务程序,用来存放中断服务程序的入口地址或是中断服务程序的第一条指令。系统中通常包含多个中断向量,存放这些中断向量对应中断服务程序入口地址的内存区域被称为中断向量表。向量中断中断硬件设备的硬件中断线(也称为中断请求IRQ)被中取指令执行指令检查中断处理中断开始停止取周期执行周期中断周期允许中断中断和指令周期不允许中断中断和指令周期取指令执行指令检查中断开始停止取周期执行周期中断周期允许中断中断系统的功能中断过程BECDA中断请求中断判优中断响应中断返回中断服务中断系统的功能中断过程BECDA中断请求中断判优中断响应中中断响应、服务及返回流程图中断响应、服务及返回流程图程序中断服务程序A中断服务程序B中断的非嵌套顺序处理中断非嵌套程序中断服务程序A中断服务程序B中断的非嵌套顺序处理中断非嵌程序高优先级中断服务程序B中断服务程序A中断的嵌套处理中断嵌套程序高优先级中断服务程序B中断服务程序A中断的嵌套处理中断嵌实时内核的中断管理中断服务程序通常包括三个方面的内容:中断前导:保存中断现场,进入中断处理。用户中断服务程序:完成对中断的具体处理。中断后续:恢复中断现场,退出中断处理。实时内核的中断管理中断服务程序通常包括三个方面的内容:中断向量号0物理中断向量表中断向量号1中断向量号2中断向量号3……中断向量号n中断接管程序中断向量号0虚拟中断向量表中断向量号1中断向量号2中断向量号3……中断向量号m用户中断服务程序0用户中断服务程序1用户中断服务程序2用户中断服务程序3用户中断服务程序m用户中断服务程序实时内核的中断管理中断向量号0物理中断向量表中断向量号1中断向量号2中断向量号中断栈的分布用户栈堆静态数据代码中断栈中断向量表(A)中断向量表用户栈堆静态数据代码中断栈(B)内存高端内存低端中断栈的分布用户栈堆静态数据代码中断栈中断向量表(A)中断实时内核通常提供如下中断管理功能:挂接中断服务程序。把一个函数(用户中断服务程序)同一个虚拟中断向量表中的中断向量联系在一起。当中断向量对应中断发生的时候,被挂接的用户中断服务程序就会被调用执行;获得中断服务程序入口地址。根据中断向量,获得挂接在该中断向量上的中断服务程序的入口地址;获取中断嵌套层次。在允许中断嵌套的处理中,获取当前的中断嵌套层次信息;开中断;关中断。实时内核的中断管理实时内核通常提供如下中断管理功能:实时内核的中断管理中断时序中断时序中断时序时间后台程序CPU上下文保存中断服务程序CPU上下文恢复用户中断服务子程序代码中断延迟中断响应中断恢复前后台系统的中断时序图中断请求中断时序时间后台程序CPU上下文保存中断服务CPU上下文恢复中断时序时间任务或内核程序中断请求CPU上下文保存中断服务程序CPU上下文恢复用户中断服务子程序代码中断延迟中断响应中断恢复任务非抢占式调度内核的中断时序图中断时序时间任务或中断请求CPU上下文保存中断服务CPU上下中断时序中断服务程序任务AB时间中断请求(1)任务或内核程序(2)中断延迟中断响应获取中断向量(3)CPU上下文保存(4)内核中断服务程序入口函数(5)用户中断服务子程序代码(6)内核中断服务程序出口函数(10)内核中断服务程序出口函数(7)CPU上下文恢复(11)中断返回(12)CPU上下文恢复(8)中断返回(9)任务任务响应中断恢复中断恢复抢占式调度内核的中断时序图中断时序中断服务任务AB时间中断请求(1)任务或内核程序(2时间指标①中断延迟时间是指从中断发生到系统获知中断,并且开始执行中断服务程序所需要的最大滞后时间。中断延迟时间=最大关中断时间+中断嵌套的时间+硬件开始处理中断到开始执行ISR第一条指令之间的时间。时间指标①中断延迟时间时间指标②中断响应时间中断响应时间:从中断发生到开始执行用户中断服务程序的第一条指令之间的时间。前后台系统和非抢占式调度系统:中断响应时间=中断延迟+保存CPU内部寄存器的时间抢占式调度系统:中断响应时间(抢占式调度)=中断延迟+保存CPU内部寄存器的时间+内核中断服务程序入口函数的执行时间。
时间指标②中断响应时间时间指标③中断恢复时间:用户中断服务程序结束后回到被中断代码之间的时间。前后台系统和非抢占式调度系统:
中断恢复时间=恢复CPU内部寄存器的时间+执行中断返回指令的时间抢占式调度系统:
中断恢复时间=内核中断服务程序出口函数执行时间+恢复即将运行任务的CPU内部寄存器的时间+执行中断返回指令的时间时间指标③中断恢复时间:用户中断服务程序结束后回到被中断代码时间指标不可屏蔽中断中断延迟时间=指令执行时间中最长的那个时间+开始做非屏蔽中断服务的时间中断响应时间=中断延迟时间+保存CPU寄存器的时间中断恢复时间=恢复CPU寄存器的时间+执行中断返回指令的时间
时间指标不可屏蔽中断谢谢!谢谢!嵌入式实时操作系统
及应用开发第七章中断管理嵌入式实时操作系统
及应用开发第七章中断管理中断中断:由于某种事件的发生而导致程序流程的改变。产生中断的事件称为中断源。CPU响应中断的条件:至少有一个中断源向CPU发出中断信号;系统允许中断,且对此中断信号未予屏蔽。中断中断:由于某种事件的发生而导致程序流程的改变。产生中断的嵌入式-中断管理课件中断服务程序ISR
中断一旦被识别,CPU会保存部分(或全部)运行上下文(context,即寄存器的值),然后跳转到专门的子程序去处理此次事件,称为中断服务子程序(ISR)。中断服务程序ISR中断一旦被识别,CPU会中断服务程序的主要内容:保存上下文:保存中断服务程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;获取中断相关的其他信息;对中断进行具体的处理;恢复保存的上下文;执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。中断服务程序ISR中断服务程序的主要内容:中断服务程序ISR中断服务程序ISR非预料事件是指事件发生的时间无法预知即中断源何时产生中断不确定,是随机的。但事件的性质及处理方法则是已知的,确定的
即中断服务程序是事先编写好的,只是何时执行未知。中断源产生中断的随机性使中断服务程序的执行也具有随机性
即何时执行中断服务程序不是在程序中安排好的。中断服务程序ISR非预料事件是指事件发生的时间无法预知在实际应用中,广义的中断通常被分为中断、自陷和异常(exception)等类别。中断是由于CPU外部的原因而改变程序执行流程的过程,属于异步事件,又称为硬件中断。自陷和异常则为同步事件;自陷表示通过处理器所拥有的软件指令、可预期地使处理器正在执行的程序的执行流程发生变化,以执行特定的程序。自陷是显式的事件,需要无条件地执行;异常为CPU自动产生的自陷,以处理异常事件。异常没有对应的处理器指令,当异常事件发生时,处理器也需要无条件地挂起当前运行的程序,执行特定的处理程序。中断在实际应用中,广义的中断通常被分为中断、自陷和异常(exce中断的分类分类方式硬件中断是否可以被屏蔽:可屏蔽中断和不可屏蔽中断中断源:硬件中断和软件中断中断信号的产生:边缘触发中断和电平触发中断中断服务程序的调用方式:向量中断、直接中断和间接中断中断的分类分类方式向量中断中断硬件设备的硬件中断线(也称为中断请求IRQ)被中断控制器汇集成中断向量(interruptvector);每个中断向量对应一个中断服务程序,用来存放中断服务程序的入口地址或是中断服务程序的第一条指令。系统中通常包含多个中断向量,存放这些中断向量对应中断服务程序入口地址的内存区域被称为中断向量表。向量中断中断硬件设备的硬件中断线(也称为中断请求IRQ)被中取指令执行指令检查中断处理中断开始停止取周期执行周期中断周期允许中断中断和指令周期不允许中断中断和指令周期取指令执行指令检查中断开始停止取周期执行周期中断周期允许中断中断系统的功能中断过程BECDA中断请求中断判优中断响应中断返回中断服务中断系统的功能中断过程BECDA中断请求中断判优中断响应中中断响应、服务及返回流程图中断响应、服务及返回流程图程序中断服务程序A中断服务程序B中断的非嵌套顺序处理中断非嵌套程序中断服务程序A中断服务程序B中断的非嵌套顺序处理中断非嵌程序高优先级中断服务程序B中断服务程序A中断的嵌套处理中断嵌套程序高优先级中断服务程序B中断服务程序A中断的嵌套处理中断嵌实时内核的中断管理中断服务程序通常包括三个方面的内容:中断前导:保存中断现场,进入中断处理。用户中断服务程序:完成对中断的具体处理。中断后续:恢复中断现场,退出中断处理。实时内核的中断管理中断服务程序通常包括三个方面的内容:中断向量号0物理中断向量表中断向量号1中断向量号2中断向量号3……中断向量号n中断接管程序中断向量号0虚拟中断向量表中断向量号1中断向量号2中断向量号3……中断向量号m用户中断服务程序0用户中断服务程序1用户中断服务程序2用户中断服务程序3用户中断服务程序m用户中断服务程序实时内核的中断管理中断向量号0物理中断向量表中断向量号1中断向量号2中断向量号中断栈的分布用户栈堆静态数据代码中断栈中断向量表(A)中断向量表用户栈堆静态数据代码中断栈(B)内存高端内存低端中断栈的分布用户栈堆静态数据代码中断栈中断向量表(A)中断实时内核通常提供如下中断管理功能:挂接中断服务程序。把一个函数(用户中断服务程序)同一个虚拟中断向量表中的中断向量联系在一起。当中断向量对应中断发生的时候,被挂接的用户中断服务程序就会被调用执行;获得中断服务程序入口地址。根据中断向量,获得挂接在该中断向量上的中断服务程序的入口地址;获取中断嵌套层次。在允许中断嵌套的处理中,获取当前的中断嵌套层次信息;开中断;关中断。实时内核的中断管理实时内核通常提供如下中断管理功能:实时内核的中断管理中断时序中断时序中断时序时间后台程序CPU上下文保存中断服务程序CPU上下文恢复用户中断服务子程序代码中断延迟中断响应中断恢复前后台系统的中断时序图中断请求中断时序时间后台程序CPU上下文保存中断服务CPU上下文恢复中断时序时间任务或内核程序中断请求CPU上下文保存中断服务程序CPU上下文恢复用户中断服务子程序代码中断延迟中断响应中断恢复任务非抢占式调度内核的中断时序图中断时序时间任务或中断请求CPU上下文保存中断服务CPU上下中断时序中断服务程序任务AB时间中断请求(1)任务或内核程序(2)中断延迟中断响应获取中断向量(3)CPU上下文保存(4)内核中断服务程序入口函数(5)用户中断服务子程序代码(6)内核中断服务程序出口函数(10)内核中断服务程序出口函数(7)CPU上下文恢复(11)中断返回(12)CPU上下文恢复(8)中断返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某铝业厂环保生产操作细则
- 美丽乡村环境整治提升项目施工总结
- 专题07 摩擦力(解析版)
- 黑龙江省鹤岗市2026届高三第7次月考化学试题含解析
- 2026年山西省太原市六十六中高三下学期第一次诊断测试化学试题试卷含解析
- DB23∕Z 0001-2026 广电运维数字孪生平台微波业务建设要求
- 专题十五:热学和光学实验(解析版)
- 2026年福建省罗源一中高考复习全程精练模拟卷(全国卷)化学试题含解析
- 2026届天津市十二区县重点高中高三下学期冲刺(三)化学试题含解析
- 广东省广州越秀区培正中学2026届高三下学期4月教学质量测评化学试题试卷含解析
- 活动板房回收合同范本
- GB/T 46075.3-2025电子束焊机验收检验第3部分:电子束电流特性的测量
- 【小升初真题】2025年河北省廊坊市三河市小升初数学试卷(含答案)
- 网络数据通信课件
- 青田县小溪流域仁宫至巨浦段综合治理工程项目环评报告
- 电力行业智能巡检体系建设实施方案
- 仪表联锁培训课件
- 职工退休及养老待遇证明书(6篇)
- 可再生能源法解读
- 殡仪服务员职业技能竞赛考试题(附答案)
- 车间材料损耗管理制度
评论
0/150
提交评论