linux开发之设备树四、设备树中断节点

中断节点

这里是由原厂的BSP工程师写的一部分

在CPU的外部有一个GIC控制器,外设会连接在GIC控制器上

设备树是对硬件进行描述的,所以设备树会对CPU进行描述,也要对GIC

控制器进行描述,这部分的代码由原厂的BSP工程师进行编写,这部分就对应上图的上半部分。

首先gpio0是一个标签(可以理解为名字),gpio0@fdd60000是这个节点的名称,fdd60000是这个gpio0的寄存器地址,这个只是为了取名字,实际可能没有意义,具体还要看内部其他参数。

在节点中出现gpio-controller说明这是一个gpio控制器,出现interrupt-controller代表这是一个中断控制器,同时出现是因为gpio引脚也可以作为中断使用

在interrupts =<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;中,GIC_SPI 33代表33号引脚为SPI中断,IRQ_TYPE_LEVEL_HIGH表示高电平触发

#interrupt-cells = <2>;是重点,这表示引用这个节点的interrupts 可以有几个值,可以看到是两个值

这部分是实际使用时编写的

interrupt-parent =<&gpio0>;这里引用了上面的gpio0节点,也就是上面的中断控制器,

interrupts =<RK_PB5 IRQ_TYPE_LEVEL_LOW>;表示那个引脚作为中断引脚,低电平触发中断,这里有两个值,从上面的#interrupt-cells = <2>;中定义的,规定了两个值,所以这里就有了两个值,一个引脚编号,一个触发模式

从上面这两个参数就可以判断出来使用那个管脚,gpio0,PB5,中断引脚,低电平触发


选择中断控制器

中断控制器的级联

相关推荐
半个俗人1 分钟前
06.Linux用户权限相关命令
linux·运维·服务器
小宇的天下2 分钟前
Calibre LVS Circuit Comparison(1)
linux·数据库·lvs
涛声依旧393163 分钟前
构建部署kubernetes所需主机
linux·运维·云原生·容器·kubernetes
淼淼爱喝水14 分钟前
OpenEuler 系统下 Ansible 环境部署与连通性测试完整步骤
linux·开发语言·php·openeuler
KuYouRan16 分钟前
ubuntu22.04用RTX2060显卡玩steam游戏
linux·其他·ubuntu·游戏
叠叠乐1 小时前
linux.service 自起文件want和After意思
linux
Ricky_Theseus1 小时前
SPOOLING 系统详解
linux·服务器·数据库
ulias2121 小时前
Linux中的基本命令符
linux·运维·服务器
江公望2 小时前
make modules_install和make install的区别
linux
HABuo2 小时前
【linux线程(二)】线程互斥、线程同步、条件变量详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos