第十四章 中断自我整理(一)

本文以STM32的按键中断为例,深入探讨中断触发、中断ID与GIC的关系、中断处理流程,以及设备树中断节点的描述和转化。介绍了GIC如何区分和处理不同中断源,并探讨了ARM Cortex-A7中断处理的细节,同时讨论了设备树中断节点如何转化为内核中断处理。
摘要由CSDN通过智能技术生成

   中断的内容真的好多,课是听完了,但是电脑一合感觉啥都忘了,网上有很多写的很好的博文,借鉴,自己整理整理。

    以按键中断为主线,当按键按下之后,会发生什么事?我自己想的:

    硬件方面:怎么把Key这个中断源告诉CPU的?

    软件方面:CPU接收到中断后是怎么确定是Key中断的?确定了之后又是怎么去调用Key的中断处理函数的?中断处理函数在内核中是怎么运行的?怎么退出中断等等。

自己想的不全面,网上有文章写的很好:https://www.cnblogs.com/arnoldlu/p/8659972.html想想内容真的好多。

14.1.中断触发过程

    参考下STM32的中断触发过程:

    参考一篇博客:https://www.cnblogs.com/Cqlismy/p/12549087.html

    对于ARM v7架构的CPU最多支持的中断号可以到达1020个,为ID0~ID1019,但是对于实际的芯片厂商并不会全部使用完这些中断号,例如:对于NXP研发的I.MX6ULL芯片就只使用了128个中断号,为ID0~ID127,其中前32个用于SoC内核私有(PPI+SGI),并没有用到芯片外设上,ID32~ID127这些中断号就使用到了芯片外设上,部分IRQ号和中断源的描述如下:

   

    前面知道了按键使用的是GPIO5_1和GPIO4_14,看下它们分别对应的中断ID是多少?GPIO4的pin0~15对应ID72,GPIO5的0~15对应的ID74,也就是GPIO5_1和GPIO4_14和它们兄弟pins共用一个ID。

  当按键按下后,GPIO5_1和GPIO4_14的电平发生变化,High->Low,这个电平变化怎么传递呢?硬件一路传递到GIC,具体细节就不清楚了。

   当GIC接收到芯片外部的中断信号后,就会上报到ARM Core,但是ARM Core只是提供了4个信号来给GIC汇报中断的情况,分别为:VFIQ、VIRQ、FIQ和IRQ,其中VFIQ和VIRQ是针对虚拟化,暂时不关注,FIQ是用于快速中断的,重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值