[应用相关] 请浪淘沙看看,谢谢!

[复制链接]
3064|6
 楼主| juanhao 发表于 2007-4-18 11:29 | 显示全部楼层 |阅读模式
浪淘沙曾经的留言:

硬件的中断嵌套功能是指,当CPU响应某个中断请求时,处理该中断的过程,可以被软件中断级别比它高的中断所打断;在这里硬件的支持中断嵌套引入了一个软件中断级别的概念,通常我们说的中断级别称为硬件中断级别。

硬件中断级别的概念是,当两个中断源同时发出中断请求时,CPU首先响应级别高的中断请求;当CPU正在处理较低优先级的中断请求时,CPU在处理完该请求之前不能响应任何新的中断请求,即使新请求的优先级较高。
/*------------------------------------------------------------------
引入了软件中断的概念之后,上述限制被放宽了,即当CPU正在处理一个中断请求时,CPU可以响应软件(不是硬件)中断优先级较高的中断请求。
-------------------------------------------------------------------*/

明白了上述原理后,你的问题变得简单了;你只需在一个中断的处理程序中,打开中断允许位,这样任何新到的中断请求都会被响应,不同的是没有了软件中断级别的裁决。

我的问题:
        针对打了注释的一段我有个问题:当CPU正在处理一个中断请求时,产生软件优先级低的请求会在退出当前中断服务程序后执行吗?
ST_ARM 发表于 2007-4-18 16:08 | 显示全部楼层

会的。

浪淘沙 发表于 2007-4-18 18:23 | 显示全部楼层

当前中断服务程序退出后,对较低软件优先级中断的处理

当前中断服务程序退出后,所有较低软件优先级中断中优先级最高的中断先得到处理。

例如有三个中断源A、B、C,他们的优先级分别为1、2、3,设想下面的情形:

CPU在处理A时,C产生中断,这时CPU暂时搁置A而去处理C,在处理C时B产生中断,硬件会将B挂起继续处理C;C处理结束后,CPU转去响应并处理B;B处理结束后,CPU转去继续处理A。
 楼主| juanhao 发表于 2007-4-18 18:58 | 显示全部楼层

谢谢了,我试试

cz2sy 发表于 2007-4-19 08:43 | 显示全部楼层

貌似优先级和一般的MCU是一样的

好像没什么修改
taitaijing 发表于 2011-11-25 21:27 | 显示全部楼层
和以前一样啊,大同小异。
604604 发表于 2011-11-25 21:44 | 显示全部楼层
都是细节问题,创新不大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

187

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部