打印

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

[复制链接]
4347|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寄存器来判断到底是哪个中断源触发,然后根据你设置的中断入口进行跳转,这些操作是需要编写代码来实现

使用特权

评论回复
5
xinjie1023| | 2009-10-6 12:56 | 只看该作者
向量中断就那么7个??

使用特权

评论回复
6
rockos| | 2009-10-6 14:35 | 只看该作者
2楼的猜的很正确:
x86系列的中断管理方式就是向量式的,每个中断源都有一个固定的中断例程入口
ARM核的中断管理方式就是非向量式的,所有中断源使用同一个中断例程入口,进入中断例程后再分析中断源

三星44b0x的向量式中断是个用于炒作的噱头,不过对于追求实时概念的应用来讲还是蛮有实用价值的。

使用特权

评论回复
7
agwtpcbox|  楼主 | 2009-10-6 15:15 | 只看该作者
4楼的怎么说向量中断就7个啊??
现在的ARM7都有很多的中断吗?而且不是都可以配置成向量中断模式吗??
还有你说的外部中断采用的是非向量中断??
也就是说程序中写外部中断的时候要按非向量中断模式写吗???

使用特权

评论回复
8
lelee007| | 2009-10-6 19:35 | 只看该作者
哈哈,我说的ARM9,2410

现在的STM32外部中断都是向量形式的,向量形式的可以提高中断响应速度

使用特权

评论回复
9
zhaoyu2005| | 2009-10-7 20:48 | 只看该作者
多谢夸奖,我那样猜不是完全瞎猜的,有点底子。想当年,用51,除了串口的收发中断共用一个入口,其他的中断都是单独的入口,而后来玩PIC,中断就一个入口,需要通过查询标志位确定发生了哪个中断,另外,老说中断向量,所以,就猜了一下,结果猜对了,在猜过之后,才想起有百度可以搜,结果发现猜对了。

使用特权

评论回复
10
agwtpcbox|  楼主 | 2009-10-8 11:45 | 只看该作者
zhaoyu2005牛啊
呵,这“猜”都比我理解的牛
:dizzy:当时看书就没理解来
惭愧啊
接触单片机一年了
才理解了入口是个什么东西

使用特权

评论回复
11
zhaoyu2005| | 2009-10-8 21:23 | 只看该作者
惭愧啊,我毕业六年多了,接触单片机也差不多7年了,毕业一直从事单片机方面的工作,按理应该弄得很好了,实际上水平一般,也没做多少东西。现在刚开始学ARM,感觉比较难,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

191

帖子

1

粉丝