- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核中断服务程序出口函数
第5章 中断管理 中断的基本概念 中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 关于任务切换 OSIntExit (void) void OSIntExit (void) {#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr; #endif OS_ENTER_CRITICAL(); if ((--OSIntNesting | OSLockNesting) == 0) { OSIntExitY = OSUnMapTbl[OSRdyGrp]; OSPrioHighRdy = (INT8U)((OSIntExitY 3) + OSUnMapTbl[OSRdyTbl[OSIntExitY]]); if (OSPrioHighRdy != OSPrioCur) { OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; OSCtxSwCtr++; OSIntCtxSw(); } } OS_EXIT_CRITICAL();} 要不要切换到其它任务? 中断级任务切换 中断级的任务切换函数OSIntCtxSwt() OSIntCtxSw() { OSTCBCur=OSTCBHighRdy; //任务控制块TCB的切换 OSPrioCur=OSPrioHighRdy; SP=OSTCBHighRdy-OSTCBStkPtr; //使SP指向带运行任务堆栈 用出栈指令把R1,R2…弹出CPU的通用寄存器; RETI; //中断返回,使PC指向待运行任务 } μC/OS-II允许中断嵌套 进入μC/OS-II中断的函数是OSIntEnter(),退出μC/OS-II中断的函数是OSIntExit()。 μC/OS-II是内核抢占式中断,允许中断返回时调度到更高优先级任务,中断级的任务切换函数OSIntCtxSwt() μC/OS-II的中断服务程序的工作通常是由中断激活一个任务来完成的。 小结 * * * * * * 单击此处编辑母版标题样式 第5章 中断管理 中断的基本概念 中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 1. 中断概念 所谓中断是指某个事件 发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断 点,继续执行。 继续执行 中断进入 中断 返回 中断信号 正在执行 的程序 中断处 理程序 中断源,可以来源于CPU的内部,也可以来源于CPU的外部 中断分为三个阶段 中断检测 中断响应 中断处理 硬件做 OS做 中断检测:每条指令结束的时候做 PC:程序计数器 PS:程序状态寄存器 中断处理程序的PC 中断处理程序的PS 中断向量表 PC PS PC PS 堆栈 堆栈栈 顶指针 (4) (1) (2) (3) 中断响应的实质: --将被中断程序的PC和PS存起来! --将中断处理程序的PC和PS 放入CPU 内存 CPU 中断响应做什么 第5章 中断管理 中断的基本概念 中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 中断处理程序的工作 保留被中断程序的现场 进入相应的中断服务例程 恢复被中断程序的现场 中断 返回 中断进入 k+0 现行程序 k+1 由操作系统做 除了PC、PS以外的寄存器 中断的处理方式 非抢占的式内核 抢占式内核 中断是否允许嵌套 不允许: 处理中断的时候,将屏蔽所有其他的中断请求。 允许: 中断被划分为多个优先级,中断服务程序只屏蔽那些比当前中断优先级低或是与当前中断优先级相同的中断 中断嵌套需要解决的问题:需要专门的中断栈? 第5章 中断管理 中断的基本概念 中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 中断延迟 中断响应时间 中断恢复时间 中断处理时间 抢占式调度内核的中断时序图 中断服务 程序 任务 A B 时间 中断请求(1) 任务或内核程序(2) 中断延迟 中断响应 获取中断向量(3) CPU上下文保存(4) 内核中断服务程序入口函数(5) 用户中断服务子程序代码(6) 内核中断服务程序出口函数(10) 内核中断服务程序出口函数(7) CPU上下文恢复(11) 中断返回(12) CPU上下文恢复(8) 中断返回(9) 任务 任务响应 中断恢复 中断恢复 抢占式调度内核的中断时序图 中断服务 程序 任务 A
您可能关注的文档
- 公平完整的薪资结构.ppt
- 公民社会与社区参与 从心态期待到空间让渡 - 国立政治大学公共行政 .pdf
- 公领系学生生涯发展方向及修课建议-公职人员 - 公民教育与活动领导 .doc
- 六、人工呼吸和胸外心脏按压(心肺脑复苏术).ppt
- 公交集团十一前工作安排 - 北京公交.ppt
- 公民与社会第四册第一课经济学基本概念 - 师大附中.ppt
- 六种行为句.ppt
- 六上分数乘法.ppt
- 关于106个拟通过的“矿山地质环境保护与治理恢复方案”.doc
- 关于2016 届毕业生档案转移工作的通知 - 上海电子信息职业技术学院.pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 2024届上海市中考数学复习:精选历年真题、好题专项(向量的线性运算)练习(附答案).pdf
- 手足外科常见病诊断治疗规范.pdf VIP
- 专项复习——修改病句(课件)部编版语文五年级上册.pptx
- 12SS508-混凝土模块式室外给水管道附属构.pptx
- 2024年发展对象考试题库附含答案.pptx
- 建筑质量与安全.pptx VIP
- 学校管理手册的内容.doc VIP
- FIDIC红皮书施工合同条款 Red Book-Conditions of Contract for Construction(2017).pdf VIP
- 电子档案数据保管及数据备份制度.doc VIP
- 中埋式橡胶止水带施工方案.docx
文档评论(0)