- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
禁止中断来解决图4-3中的共享数据问题 static int iTemperatures[2]; void interrupt vReadTemperatures(void) { iTemperatures[0]=//从硬件中读出温度值 iTemperatures[1]=//从硬件中读出温度值 } void main() { int iTemp0, iTemp1; while (TURE) { disable(); iTemp0= iTemperatures[0]; iTemp1= iTemperatures[1]; enable(); if(iTemp0!=iTemp1) //发出报警; } } ... DI MOV R1, (iTemperature[0]) MOV R2, (iTemperature[1]) EI SUBTRACT R1,R2 JCOND ZERO, TEMPRATURES_OK … ;发出警报 … TEMPRATURES_OK: … 3.“原子区”和“临界区” 程序中不能被中断的部分代码成为“原子的”。任务是用“原子的” 指不能被任何可能扰乱正在使用数据的操作所中断。 更精确看法是:中断程序、任务代码共享数据和使用共享数据的任务代码不是原子的。只要在任务代码使用共享数据的时候禁止中断,就可以保证那些代码是原子的。 我们把必须是“原子的”以保证系统正常运转的指令的集合定义为临界区。 4.中断延迟时间 所谓中断延迟时间是指系统响应一个中断所需要花费的时间,主要取决于以下四个因素: (1)中断被禁止的最长时间; (2)任一个优先级更高的中断的中断服务程序执行时间; (3)处理器停止当前任务、保存必要的信息以及执行中断程序中的指令所需要花费的时间; (4)从中断程序保存上下文到完成一次响应所需要的时间。 中断延迟= 关中断的最长时间 + 开始执行中断服务子程序的第一条指令的时间 (2-1) 5.中断响应 中断响应定义为从中断发生到开始执行用户的中断服务子程序代码来处理这个中断的时间。中断响应是系统在最坏情况下的响应中断的时间. 对前后台系统,保存寄存器以后立即执行用户代码,中断响应时间由式(2-2)给出。 中断响应时间 = 中断延迟 + 保存CPU内部寄存器的时间 (2-2) 可剥夺型内核的中断响应时间由表达式(2-3)给出: 中断响应 =中断延迟 + 保存CPU内部寄存器的时间 + 内核的进入中断服务函数的执行时间 (2-3) 7.中断延迟、响应和恢复 一个中断的完成时间是由多方面因素共同决定的。 前后台系统、实时操作系统内核相应的中断延迟、响应和恢复过程。 实时操作系统内核中断延迟、响应和恢复 8.中断处理时间 中断处理时间一般指中断服务程序需要执行的时间。中断服务的处理时间应该尽可能的短,但是对处理时间并没有绝对的限制。 9.非屏蔽中断(NMI) 所谓非屏蔽中断是指在任何情况下都不能禁止的中断,非屏蔽中断可以用增加外部电路的方法禁止掉。 10.中断的一些常见问题 (1)在中断发生时,微处理器怎么知道去哪里执行中断服务程序呢? (2)使用中断向量表的微处理器怎么知道中断向量表在哪里呢? (3)一条指令在执行过程中,微处理器能被中断吗? (4)如果两个中断同时产生,微处理器会优先执行那一个中断服务程序呢? (5)一个中断请求信号能够中断另外一个中断程序吗? (6)在中断被禁止的时候发生中断请求会怎么样? (7)可以用C语言写中断程序吗? 10.中断的一些常见问题 (1)在中断发生时,微处理器怎么知道去哪里执行中断服务程序呢? (2)使用中断向量表的微处理器怎么知道中断向量表在哪里呢? (3)一条指令在执行过程中,微处理器能被中断吗? (4)如果两个中断同时产生,微处理器会优先执行那一个中断服务程序呢? (5)一个中断请求信号能够中断另外一个中断程序吗? (6)在中断被禁止的时候发生中断请求会怎么样? (7)可以用C语言写中断程序吗? 10.中断的一些常见问题 (1)在中断发生时,微处理器怎么知道去哪里执行中断服务程序呢? (2)使用中断向量表的微处理器怎么知道中断向量表在哪里呢? (3)一条指令在执行过程中,微处理器能被中断吗? (4)如果两个中断同时产生,微处理器会优先执行那一个中断服务程序呢? (5)一个中断请求信号能够中断另外一个中断程序吗? (6)在中断被禁止的时候发生中断请求会怎么样? (7)可以用C语言写中断程序吗? 2.4 嵌入式系统中断管理与系统启动 2.4.2 Boot Loader 的概念 简单地说,Boot Loader 就
您可能关注的文档
- 桥墩模板作业指导书答案.doc
- 人教版七年级思想品德下册:第二单元3.2告别依赖走向自立(共53张)答案.ppt
- 弟子规《入则孝》教学终稿.ppt
- 第_11_章__串行通信及接口电路1终稿.ppt
- 桥板汽车吊吊装施工专项方案答案.doc
- 第01章采购终稿.ppt
- 第01章蛋白质(6版)终稿.ppt
- 人教版七年级数学下册说(知识树)1答案.ppt
- 第01章--导言终稿.ppt
- 第01章-第5节粉碎机械的分类终稿.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)