arm是怎么样获知有中断请求的?

发布于 2022-10-15 05:03:57 字数 100 浏览 24 评论 0

arm有irq和fiq两个中断线,每当有中断来的时候中断控制器都通过这两个线通知arm,那arm是怎么样获知有中断请求的?arm是通过轮询的方式检查这两个线呢?还是采用一些别的方式获知有中断到来的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2022-10-22 05:03:57

都说的是中断,FIQ,IRQ肯定是通过硬件构成的中断有求,如果学过数字电路的话,那就相当于是一根与线或者是或线,而输出是接到CPU输入的检测系统的,这样它就会获得知中断了。而具体可以知道是FIQ还是IRQ,就要通过其中的控制系统会记录着它是一个FIQ或都IRQ。

然后LINUX知道了之后就去看一下这个寄存器就知道是FIQ还是IRQ了。大致如下:在B S P中,主要写了其中的一个获取中断源的接口的一个汇编文件,你可以去看一下的,那里描述了一个函数,作用是从中断状态寄存器那里返回一个状态给LINUX,它就知道了是哪个中断源了。而这个函数被注册成所有中断的首先入口。知道了哪个中断源之后,LINUX再按照中断的状态进行各种中断的响应,也就是request_irq这个函数所申请的回调函数。这个时候就会进来了。

╄→承喏 2022-10-22 05:03:57

硬件上电信号发生变化,强制PC跳转到指定中断程序入口,我猜的。呵呵

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文