[ZLG-ARM] 中断的区别

[复制链接]
2531|4
 楼主| 胡永江 发表于 2008-4-12 21:42 | 显示全部楼层 |阅读模式
我想问:<br />&nbsp;&nbsp;&nbsp;&nbsp;非向量中断和向量中断的区别在哪里?比如startup.s中设置的区别。。。<br /><br />我自己的ARM主板,编写了一个触摸屏中断程序,如果我用向量中断那么无法进入中断服务程序,但是同样的程序,改为非向量中断的时候就可以正常进入了。。。不知道为什么会有这样的区别。。。<br /><br />这个程序的startup.s中我只改动了cprs,使能IRQ中断!其他没有做任何改动<br /><br />是不是在用向量中断的时候还要进行其他的设置?才能使得程序可以正常的进入中断服务程序???<br /><br />急待赐教!
lyl831015 发表于 2008-4-13 12:07 | 显示全部楼层

VIC部分

还需要设置中断的通道和中断服务的入口地址。
zlgarm 发表于 2008-4-14 17:36 | 显示全部楼层

TO 胡永江

胡永江您好:<br />&nbsp;&nbsp;&nbsp;&nbsp;两者的区别如下:<br />&nbsp;&nbsp;&nbsp;&nbsp;1.向量中断优先级高于非向量中断<br />&nbsp;&nbsp;&nbsp;&nbsp;2.向量中断有16各优先级,最多可设置16各向量中断<br />&nbsp;&nbsp;&nbsp;&nbsp;3.向量中断需设置向量通道、向量地址<br />&nbsp;&nbsp;&nbsp;&nbsp;4.若设置多个中断为非向量中断,当中断产生时需查询VICIRQStatus确定哪个中断发生<br />By&nbsp;zlgarm_glh
armecos 发表于 2008-4-14 18:38 | 显示全部楼层

在ecos里中断处理程序就很简单,

先检查向量中断,这个速度非常快,不需要逐个bit查询,一步定位,如果发现不是向量中断,那么再从状态寄存器里查询,顺序代表了优先级。所有操作都是由OS负责,对于用户来说这个过程不可见,用户只要注册中断号和对应ISR+DSR服务程序即可,非常方便,处理过程中也不会出错,OS自动负责缺省处理,适应各种中断体系架构。<br />更多关于中断的详细文档见:www.armecos.com
 楼主| 胡永江 发表于 2008-4-16 12:11 | 显示全部楼层

谢谢大家

谢谢这么多的热心的朋友们<br />谢谢<br />21IC是个大家庭<br />我爱这个地方<br /><br />我的毕业设计完成了<br />很多问题都在这里得到帮助<br />再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

93

帖子

0

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