Zynq的中断号在dts中的表示

zynq pl设计中断问题 zynq 中断设计问题 阅读详情

关于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          0       GIC  51  e000d000.ps7-qspi
 53:          0          0       GIC  53  ehci_hcd:usb1
 54:          0          0       GIC  54  eth0
 56:         35          0       GIC  56  mmc0
 72:          0          0       GIC  72  f8003000.ps7-dma
 73:          0          0       GIC  73  f8003000.ps7-dma
 74:          0          0       GIC  74  f8003000.ps7-dma
 75:          0          0       GIC  75  f8003000.ps7-dma
 82:         68          0       GIC  82  xuartps
IPI1:          0        495  Timer broadcast interrupts
IPI2:       1187       1239  Rescheduling interrupts
IPI3:          0          0  Function call interrupts
IPI4:         16         80  Single function call interrupts
IPI5:          0          0  CPU stop interrupts
IPI6:         42         23  IRQ work interrupts
IPI7:          0          0  completion interrupts
Err:          0
zynq> 



在datesheet中,我们可以看到与上面的表述是相对应的:

 

这里是相对应的,如eth0的中断号为54,但是在dts中关于interrupte的指定如下,如关于eth0的表述:

		ps7_ethernet_0: ps7-ethernet@e000b000 {
			#address-cells = <1>;
			#size-cells = <0>;
			clock-names = "ref_clk", "aper_clk";
			clocks = <&clkc 13>, <&clkc 30>;
			compatible = "xlnx,ps7-ethernet-1.00.a";
			interrupt-parent = <&ps7_scugic_0>;
			interrupts = <0 22 4>;
			local-mac-address = [00 0a 35 00 00 00];
			phy-handle = <&phy0>;
			phy-mode = "rgmii-id";
			reg = <0xe000b000 0x1000>;
			xlnx,eth-mode = <0x1>;
			xlnx,has-mdio = <0x1>;
			xlnx,ptp-enet-clock = <111111115>;
			mdio {
				#address-cells = <1>;
				#size-cells = <0>;
				phy0: phy@0 {
					compatible = "marvell,88e1510";
					device_type = "ethernet-phy";
					reg = <0>;
				} ;
			} ;
		} ;


这里指定中断的类型为SPI,中断号为22,中断是高电平触发。这里指定的中断号22,其实不是datesheet上指定的中断号,而是用的对应在spi_status寄存器中的序号,eth0是在spi_status_0中的bit22,所以这里就指定为中断号为22,如果是在spi_status_1中的22,这中断号就是32+22=54.

xilinx linux下中断驱动 断释放函数free_irq,如果目标中断不是共享中断,那举free_irq函数在释放中断后,会禁止中断并删除中断服务函数,原型:void free_irq(unsigned int irq, void *dev); free_irq函数才会禁止中断并删除中断服务函数。实现服务申请函数:irqreturn_t (*irq_handler_t) 底半部机制free_irq函数,关于自旋锁保护的对象,实际上就是 alinx_char.key_sts 这个值,因为这个值在读函数中操作了,在中断开启定时器回掉函数中。 阅读详情

相关推荐

Zynq PL自定义UART的Linux字符设备驱动开发

UART(通用异步收发传输器)是嵌入式系统中最基础的串行通信接口,其核心原理在于通过起始位、数据位、校验位和停止位实现异步时序同步。在Xilinx Zynq-7000等SoC平台上,利用PL端实现自定义UART IP,可突破固定外设限制,实现硬件级定制与加速。该方案依托AXI-Lite总线完成PS/PL通信,结合Device Tree动态描述硬件资源,具备高可移植性与强实时性,广泛应用于工业控制、边缘网关及协议转换等场景。本文围绕U2轻量级UART IP,详解从设备树配置、寄存器映射、中断绑定到字符设备驱动

weixin_35706255的博客 51

ZYNQ中断系统

通用中断控制器是一个用于集中管理从 PS 和 PL 发送到 CPU 的中断,启用、禁用、屏蔽和优先化中断源的处理中心,将具有最高优先级的中断源分配给各个 CPU 之前集中所有中断源,并在 CPU 接口接受下一个中断时以编程方式将它们发送到选定的CPU(the selected CPU or CPUs)。那些目标为 CPU 的中断的优先级和中断的接收情况是由中断控制器管理的。在发送挂起的最高优先级的中断给CPU 接口后,中断分配器会从该CPU 收到中断已被确认的消息,这样它就可以改变对应的中断的状态。

蒋楼丶的博客 394

ESP32-S3驱动PCA9685模块:I2C扩展16路舵机控制实战指南

本文提供了ESP32-S3通过I2C总线驱动PCA9685模块扩展16路PWM输出的完整实战指南。详细解析了PCA9685模块原理、硬件连接、I2C地址配置,并给出了核心驱动代码与角度控制函数,帮助开发者解决微控制器PWM引脚不足的问题,轻松实现多路舵机控制。

weixin_32005771的博客 519

dts里的中断

** dts里的中断 ** 1). 产生中断的设备 (interrupt generating devices) interrupts: 产生的中断号, 会被interrupts-extended覆盖, 通常两者用其一; interrupt-parent: 标识此设备节点属于哪一个中断控制器, 如果没有设置这个属性, 会自动依附父节点的; interrupts-extended: 当设备连接到多个中断控制器时使用; 它与属性interrupts相互排斥, 二者只能用其一, 当两者都存在时, interrup

verdicty的专栏 2571

基于STM32的电子琴音乐播放器设计

​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。件,在Proteus中进行原理图绘制,然后把 .hex文件下载到STM32F103RBT6中 进行仿真。由于网络上 下载的 Proteus中 没有 STM32F103RBT6这个芯片型号,我们又从网上 下载芯片 进行仿真。​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。

TMMXA的博客 2万+

告别手绘!用Aseprite+Unity Tilemap,从AI生成到2D游戏地图的保姆级搭建流程

本文详细介绍了如何利用Aseprite和Unity Tilemap从AI生成素材到搭建2D游戏地图的完整流程。涵盖AI生成素材的预处理、图层管理、动画制作,以及Unity中的Tilemap系统配置和性能优化技巧,帮助开发者高效创建像素风游戏地图。

weixin_29015483的博客 582

内核软中断处理流程

软中断守护进程static __init int spawn_ksoftirqd(void) { void *cpu = (void *)(long)smp_processor_id(); int err = cpu_callback(&cpu_nfb, CPU_UP_PREPARE, cpu);//创建守护进程 BUG_ON(err != NOTIFY_OK); cp

linchuanzhi_886的专栏 1934

用Seurat和ComplexHeatmap绘制单细胞marker基因热图:从数据处理到可视化全流程

本文详细介绍了使用Seurat和ComplexHeatmap绘制单细胞marker基因热图的全流程,涵盖从数据处理、基因筛选、平均表达矩阵计算到高级可视化与注释添加。重点解析了如何利用ComplexHeatmap生成发表级热图,并整合热词信息,解决单细胞数据可视化中的常见问题,提升科研图表质量。

weixin_29048775的博客 529

4.2.1 通过DTS传递物理中断号给Linux

以dts中的timer设备为例,说明一下硬件中断号是如何传入Linux中的。

三问Linux社区 1377

经纬度转换为UTM坐标

UTM(通用横向墨卡托投影): 是一种以米为单位的坐标系统,用于地图和GPS导航。将地球划分为60个纵向的区域。每个区域宽6度,从赤道开始往南北两级方向划分。每个区域都有一个特定的字母。

weixin_45626706的博客 7275

大语言模型无代码构建知识图谱概述

由示例可以看出,大语言模型的泛化能力能够非常精准的抽取文本中的实体、关系等知识信息。其能够大大提升知识提取的效率与准确性。HuggingFists低代码平台的出现进一步促进了知识图谱构建的效率。它大幅降低了知识图谱构建人员的技术要求,使得从事该工作的人员有了更大的选择范围。不断下降的构建成本,意味着可以有更多的客户享受到知识图谱带来的业务价值。

colorknight的专栏 1817

如何为自己的zynq板子定制移植linux的DTS

移植DTS时,首先要利用SDK,生成对应版本的kernel的DTS。

Huskar_Liu的博客 1943

44位abogus补环境与纯算逆向分析

44位ab参数补环境与纯算加密流程逆向分析

吴秋霖的博客 2774

ZYNQ 中断详解

https://blog.youkuaiyun.com/sheng__jun/article/details/78213115 Interrupt中断 zynq linux 中断号如何对应 在linux系统下,中断号跟BD中zynq7000 processer中配置的生成的中断号不是直接对应的,中间有一个“-32” 的关系,如下 For Shared Periperal interrupts,...

Linux Android Web 1730

学Simulink——基于大数据处理与云计算的场景实例:无人机与云计算中心之间的高效数据传输链路设计

本文以无人机与云计算中心的高效数据传输链路设计为例,手把手指导使用Simulink进行系统级建模。针对智慧城市、灾害监测等场景中无人机采集的海量数据(视频、图像、点云等),构建包含数据源、传输协议、无线链路、云接入和性能分析的五层架构模型。通过智能数据压缩、多链路聚合和QoS优先级调度等关键技术,实现5G+Wi-Fi等多通信技术的自适应切换。仿真结果表明,5G+Wi-Fi链路聚合在城市环境中表现最优,而4G+卫星组合适合偏远地区。该模型为无人机实时数据传输提供了有效的设计方法和优化方向,可拓展至边缘计算、A

xiaoheshang_123的博客 120

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

zynq linux多个中断注册,zynq linux 中断号如何对应

在linux系统下,中断号跟BD中zynq7000 processer中配置的生成的中断号不是直接对应的,中间有一个“-32” 的关系,如下For Shared Periperal interrupts, the value in the device tree is the (IRQ - 32) ;例子 interrupts = <0x0 0x32 0x0>; 中间的参数0X32是中...

weixin_31499919的博客 812

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

zynq、zynqmp中断号

获得设备树的中断号后,判断是SPI就+32,PPI就+16从而推出实际ug585 pdf文档中的中断号,意思就是书写设备树的中断号时,是SPI就-32,是PPI就-16。

weixin_41409403的博客 713

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Zynq SOC学习笔记之设备树

一. 概述 DTS即DeviceTree Source 设备树源码,是一种描述硬件的数据结构 以树状节点的方式描述一个设备的各种硬件信息细节:CPU、GPIO、时钟、中断、内存等,形成类似文本文件dts,直接透过它传递给Linux,使得驱动程序与硬件分离,只需要修改dts文件,便能实现需求。设备树易于扩展,硬件有变动时不需要重新编译内核或驱动程序,只需要提供不一样的dtb文件。 以飞凌MX6UL-C为例当需要增删spi1外设功能时,只需要增删修改对应dts文件源码,即可满足开发需求,方便快捷。

浩瀚之水的专栏 9155

Zynq PL中断

在 Zynq 系统中,是 PL向PS发出事件通知的重要机制。常见应用场景为等。本文将详细介绍如何从,一步步实现一个 PL 中断。

qq_26074053的博客 1744

zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计

原标题:如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计简介作者: Alex He (何晔), 赛灵思高级嵌入式应用工程师这里的 UIO 即 Userspace I/O,本文中 UIO 泛指 UIO 设备和 UIO 驱动。它在 Linux kernel 的世界里比较小众,主要是一些定制设备和相应的驱动。UIO内核驱动指负责将中断和设备内存暴露给用户空间,再由U...

weixin_39999586的博客 1031

Zynq设备树实战:从Vivado到Linux内核的完整配置流程(附常见错误排查)

本文详细介绍了Zynq设备树从Vivado硬件设计到Linux内核配置的完整流程,包括设备树基础、关键节点解析、驱动协同开发及常见错误排查。通过实战案例和调试技巧,帮助开发者高效完成Zynq平台的设备树配置,解决外设识别、中断异常等典型问题。

prometheus5watch的博客 916
上一篇: xcale blob移值小节
下一篇: latest kernel platform register
Bean Huo
博客等级 码龄19年 40粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值