免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4759 | 回复: 7
打印 上一主题 下一主题

嵌入式Linux下ARM9的中断嵌套问题,求助! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-14 15:43 |只看该作者 |倒序浏览
比如使用S3C2440处理器的嵌入式ARM系统,假设存在两个外部中断A和B,定义中断优先级A大于B,工作模式处于IRQ模式下,如果B中断信号先来,系统先处理B中断对应的中断服务程序,在执行过程中中断A信号产生,是否A中断的中断服务程序要等待中断B的中断服务程序完毕,才响应执行中断A,这样就不存在中断嵌套的问题了是吗?(问题一)。但是如果中断A的工作模式为FIQ,是可以打断中断B的中断服务程序,但是这样应该也不属于中断嵌套的范围吧?(问题二)。某些资料说SVC模式下存在中断嵌套的机制,就好象中断B的服务程序运行中被中断A信号打断,优先执行中断A的服务程序后再执行中断B的服务程序,请问如何实现该嵌套?这种机制是否在该模式下存在?(问题三)
   求解,十分感谢!

论坛徽章:
0
2 [报告]
发表于 2011-04-19 17:24 |只看该作者
可以看一下微机原理,X86架构配8259中断控制器对,中断进行的处理!有参考价值,你上面密密麻麻的文字,谁都没有心情仔细看的!

论坛徽章:
0
3 [报告]
发表于 2011-04-19 19:31 |只看该作者
ARM 下七种exception, 各种exception优先级不同,级别高的可以打断级别低的,如reset可以打断FIQ, FIQ可以打断IRQ, 对于同一种exception,如IQR, 是不可以被另一个IRQ打断的,因为在执行ISR时,该exception(IRQ)已经被关闭了,不可能再响应,这也是为什么我们的exception处理分为了ISR和BH。

论坛徽章:
0
4 [报告]
发表于 2011-04-19 20:16 |只看该作者
回复 3# Trigger_Huang


    在执行ISR时,该exception(IRQ)已经被关闭了


这个是不是应该在软件编程是设置相应的状态位啊,在X86架构编程是这样的,ARM也是吗?  没完整学过ARM硬件,请教一下?

论坛徽章:
0
5 [报告]
发表于 2011-04-20 18:24 |只看该作者
回复 4# 2007robot


    ARM 中,当exception产生后, CPU硬件会自动关掉该种类 exception, 不是软件设置的, 等ISR执行完成后,由软件再打开。。。

论坛徽章:
0
6 [报告]
发表于 2011-04-25 10:46 |只看该作者
谢谢!请问trigger_huang,那是不是在ARM中就不存在中断嵌套的机制了吧?

论坛徽章:
0
7 [报告]
发表于 2011-04-27 21:44 |只看该作者
中断来了之后,CPU只是屏蔽了对应中断的中断信号线,其他中断信号线是没有被屏蔽的,中断处理完后应该使能对应的中断信号线
同一类型的硬件中断是可以通过软件设置它们之间的优先级的。

论坛徽章:
0
8 [报告]
发表于 2011-04-28 18:29 |只看该作者
ARM ARCH下, 七种exception或interrupt:的优先级是固定的,不存在还可以用软件去设置ARM的优先级的(X86应该可以),所以同一类型(优先级)的中断是不能被同一类型的中断打断的,不存在同一类型的嵌套的。 但是不同种类(优先级)是可以的。比如FIQ可以打断IRQ中断,那么此时就可以说是中断嵌套。
  不知道我说清楚了没有……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP