Zynq uart软件中断hook的操作过程

时间:2025-04-27  作者:Diven  阅读:0

早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较复杂。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugIC驱动来处理相关的操作。下面具体说一下,中断hook的过程。

Zynq uart软件中断hook的操作过程

XScuGIC_LookupConfig // 找到scugic的定义实体;

XScuGic_CfgInitialize // 初始化scugic实体;

Xil_ExceptionInit() //异常处理初始化

Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_IRQ_INT,

(Xil_ExceptionHandler)XScuGic_InterruptHandler,

pScuGic);

这一步基本是固定的,中断触发之后统一由XScuGic_InterruptHandler先处理,然后在HandlerTable中查找相应的处理函数。这个HandlerTable数组的长度为95个,包含了所有的中断ID。

Xil_ExceptionEnable(); //异常处理使能

XScuGic_Connect( pScuGic,

XPAR_PS7_UART_1_INTR, (Xil_InterruptHandler)ZUartPs_InterruptHandler , (void*)pUart1Inst);

这才是将我们定义的中断服务函数地址映射到HandlerTable中。也可以使用UartPs驱动中包含的中断处理函数。

XScuGic_Enable( pScuGic, XPAR_PS7_UART_1_INTR);

//使能uart对应的中断ID。

XUartPs_SetInterruptMask( pUart1Inst, XUARTPS_IXR_RXOVR | XUARTPS_IXR_TXEMPTY );

这应用程序中开启接收缓冲fifo中断与发送为空中断。

这时uart接收到数据,则会自动跳入中断处理函数ZUartPs_InterruptHandler中。向发送硬fifo中写入数据,在数据发空后,也会跳入中断处理函数ZUartPs_Interrupt Handler中。两者根据不同中断状态寄存器中的标识进行相应的处理。

猜您喜欢

避火罩是重要的消防安全设备,主要用于保护人员和财产免受火灾的危害。在选择避火罩时,了解其参数非常重要。避火罩的材质是关键,通常采用耐高温、阻燃材料,如玻璃纤维或...
2012-11-17 00:00:00

法拉电容是一个重要的电子元件。在电路中起着关键作用。了解法拉电容的充电电压,有助于提高电路的性能。本文将介绍法拉电容充电电压的基本知识。法拉电容的定义法拉电容是...
2025-03-27 13:00:02

1.1一般性考虑事项检测相对湿度的传感器组件由一个传感元件组成——在大多数情况下是一种聚合物——它根据周围的条件吸收并分解水分子。气体分子进入和离开固体物质的过...
2024-12-05 01:07:00

1206贴片电阻是一种常用的表面贴装电阻,因其尺寸为1.2mm x 0.6mm而得名。本规格表旨在帮助您快速了解并选择合适的1206贴片电阻。1206贴片电阻的...
2025-04-14 15:03:16

贴片电阻上的「01x」并不是直接表示电阻值,而是采用一种简化的标识方法。它通常代表100mΩ,也就是0.1欧姆。这种标识方法通常用于小尺寸的贴片电阻,为了节省空...
2024-11-26 11:29:35

电子电路中,采样电阻是用于测量电流的重要元件。的作用是将电流转换为电压信号,以便后续的处理和分析。采样电阻的大小直接影响到电流的测量精度和系统的性能。本文将深入...
2025-04-14 05:01:44

.mif 和 .coe 是 FPGA 设计中常用的存储文件,用于 ROM、RAM 等存储器数据的加载,常见的还用在 DDS 信号发生器和 FIR 滤波器的设计中...
2023-06-21 15:18:00

现代电子设备中,连接器的选择非常重要。CONN_11.1X5MM_TM作为一种常用的连接器,因其独特的设计和卓越的性能被广泛应用于各种电子产品中。本文将对CON...
2025-03-10 01:01:10

刮刀和修边器是现代工艺中不可少的工具,在多个领域中有着着重要作用。刮刀的主要优势在于其高效的修整能力,能够快速去除表面多余的材料,确保作品的光滑与精致。无论是在...
2013-08-15 00:00:00

电池,作为电子产品的心脏,其性能直接影响着我们的使用体验。良好的电池管理不仅能够延长电池寿命,还能保障设备的稳定运行,提升使用效率。那么,电池管理究竟包含哪些内...
2024-10-16 00:00:00