请教:arm中的向量中断与非向量中断?

[复制链接]
5469|10
 楼主| agwtpcbox 发表于 2009-10-5 19:10 | 显示全部楼层 |阅读模式
本帖最后由 agwtpcbox 于 2009-10-5 19:12 编辑

刚学ARM不久,发现ARM的中断还分有向量中断和非向量中断
感觉有点搞混了!!:dizzy: (向量中断不是快一点吗?那只要有向量的就行了,为什么还要有非向量的:dizzy: )
请教下坛里前辈它为什么要分向量和非向量中断啊??
是有不同的应用吗??
如果是,一般是应用在哪方面的时候使用向量中断?
应用在哪方面的时候使用非向量中断???
zhaoyu2005 发表于 2009-10-5 20:58 | 显示全部楼层
我今天也遇到这个疑问了,看书时不明白。过了几个小时,觉得好像应该这样理解(不知对不对,抛个瓦片,勾引一下玉石):
向量中断  就是每个中断有自己独立的入口,一旦发生中断,直接跳到对应的中断入口(地址),相当于硬件直接区分了中断源
非向量中断 就是好几个中断共用一个中断入口,一旦发生这种中断,需要通过软件查询标志位,确定哪个中断
纯属个人的猜测,没有验证。错了的话,可以拍砖,但是不要笑话
 楼主| agwtpcbox 发表于 2009-10-5 22:12 | 显示全部楼层
zhaoyu2005讲很好:handshake
lelee007 发表于 2009-10-6 08:48 | 显示全部楼层
向量中断就那么7个

非向量中断相当于IRQ或者FIR的扩展

非向量中断,典型的就是外部中断,产生后,如果你配置为非快速中断,则会触发IRQ,只是此时处理不像向量中断处理那样,由硬件实现中断服务程序的跳入,此时需要读INTOFFSET寄存器来判断到底是哪个中断源触发,然后根据你设置的中断入口进行跳转,这些操作是需要编写代码来实现
xinjie1023 发表于 2009-10-6 12:56 | 显示全部楼层
向量中断就那么7个??
rockos 发表于 2009-10-6 14:35 | 显示全部楼层
2楼的猜的很正确:
x86系列的中断管理方式就是向量式的,每个中断源都有一个固定的中断例程入口
ARM核的中断管理方式就是非向量式的,所有中断源使用同一个中断例程入口,进入中断例程后再分析中断源

三星44b0x的向量式中断是个用于炒作的噱头,不过对于追求实时概念的应用来讲还是蛮有实用价值的。
 楼主| agwtpcbox 发表于 2009-10-6 15:15 | 显示全部楼层
4楼的怎么说向量中断就7个啊??
现在的ARM7都有很多的中断吗?而且不是都可以配置成向量中断模式吗??
还有你说的外部中断采用的是非向量中断??
也就是说程序中写外部中断的时候要按非向量中断模式写吗???
lelee007 发表于 2009-10-6 19:35 | 显示全部楼层
哈哈,我说的ARM9,2410

现在的STM32外部中断都是向量形式的,向量形式的可以提高中断响应速度
zhaoyu2005 发表于 2009-10-7 20:48 | 显示全部楼层
多谢夸奖,我那样猜不是完全瞎猜的,有点底子。想当年,用51,除了串口的收发中断共用一个入口,其他的中断都是单独的入口,而后来玩PIC,中断就一个入口,需要通过查询标志位确定发生了哪个中断,另外,老说中断向量,所以,就猜了一下,结果猜对了,在猜过之后,才想起有百度可以搜,结果发现猜对了。
 楼主| agwtpcbox 发表于 2009-10-8 11:45 | 显示全部楼层
zhaoyu2005牛啊
呵,这“猜”都比我理解的牛
:dizzy:当时看书就没理解来
惭愧啊
接触单片机一年了
才理解了入口是个什么东西
zhaoyu2005 发表于 2009-10-8 21:23 | 显示全部楼层
惭愧啊,我毕业六年多了,接触单片机也差不多7年了,毕业一直从事单片机方面的工作,按理应该弄得很好了,实际上水平一般,也没做多少东西。现在刚开始学ARM,感觉比较难,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

191

帖子

1

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