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,中断引脚,低电平触发


选择中断控制器

中断控制器的级联

相关推荐
hj28625115 小时前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_201815 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
27399202915 小时前
GDB调试(Linux)
linux
凡人叶枫16 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
不会C语言的男孩16 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
小生不才yz16 小时前
Shell脚本精读 · S02-03 | 词拆分、通配符与未加引号的变量
linux
2601_9618454216 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
A_humble_scholar16 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
AOwhisky17 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
零陵上将军_xdr17 小时前
Shell脚本入门:从Hello World到变量的灵活运用
linux