Zynq的中断号在dts中的表示

本文介绍了Zynq设备在3.X内核中如何通过Device Tree Structure (dts)来定义中断信息。尽管dts中指定的中断号与数据手册上的ID不同,但在proc下可以观察到设备的正确中断号对应。以eth0为例,其在datesheet上的中断号为54,但在dts中被配置为SPI类型的中断,编号为22,由高电平触发。这个22实际上对应spi_status寄存器中的位置,eth0在spi_status_0的bit22,因此dts中设定为22;若在spi_status_1的22位,则中断号将是32+22=54。
摘要由CSDN通过智能技术生成

关于zynq的中断述,在网上和datesheet中已经有详细的说明,但是在3.X的内核中,开始用dts来详细所有device的infor和source,这里就有关于中断号的指定,但是在关于zynq的dts文件中,我们看到指定的中断号不是datesheet上说所的Id,但是在proc下,我们可以看到每个设备的中断号对应关系:

 

zynq> more /proc/interrupts 
           CPU0       CPU1       
 27:          0          0       GIC  27  gt
 29:        233        282       GIC  29  twd
 35:          0          0       GIC  35  f800c000.ps7-ocmc
 39:          2          0       GIC  39  f8007100.ps7-xadc
 40:          0          0       GIC  40  f8007000.ps7-dev-cfg
 43:        530          0       GIC  43  ttc_clockevent
 45:          0          0       GIC  45  f8003000.ps7-dma
 46:          0          0       GIC  46  f8003000.ps7-dma
 47:          0          0       GIC  47  f8003000.ps7-dma
 48:          0          0       GIC  48  f8003000.ps7-dma
 49:          0          0       GIC  49  f8003000.ps7-dma
 51:         10   
Zynq中断是一种处理器暂停正在执行的当前任务,转而执行与中断相关的任务的机制。Zynq中断具有优先级的概念,优先级决定了中断被响应的顺序。 每个中断都有一个特定的优先级,优先级数值越小表示优先级越高。当多个中断同时发生时,Zynq会根据中断的优先级来决定哪个中断优先被处理。 Zynq,有两种类型的中断优先级:硬件优先级和软件优先级。硬件优先级由Zynq硬件定义,软件优先级由软件编写者进行定义。 硬件优先级在中断控制器内部实现,是通过对中断请求信进行优先级编码来实现的。每个中断请求都有一个对应的优先级。当多个中断请求同时到达中断控制器时,硬件会根据这些优先级进行比较,并选择优先级最高的中断请求来处理。硬件优先级在编程过程无法修改,由硬件设计决定。 软件优先级由编程者在中断处理程序定义。在Zynq,可以通过配置寄存器来设置每个中断的软件优先级。软件优先级与硬件优先级相互独立,但软件优先级必须小于硬件优先级。软件优先级的设置允许开发者自定义中断的响应顺序,以满足特定需求。 总的来说,Zynq中断的优先级是通过硬件优先级和软件优先级来确定的。硬件优先级由硬件设计决定,而软件优先级由编程者在中断处理程序进行设置。根据这些优先级,Zynq选择性地处理中断请求,以确保高优先级的中断可以及时响应和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值