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

时间:2025-07-29  作者: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中。两者根据不同中断状态寄存器中的标识进行相应的处理。

猜您喜欢

栅极驱动光耦是用于电路中信号隔离和传输的电子元件。主要由发光二极管(LED)和光电接收器组成,能够将输入信号通过光的方式传递到输出端,从而实现电气隔离。栅极驱动...
2012-03-01 00:00:00

SOD-123是新型的半导体器件,广泛应用于电子产品中。随着科技的进步,SOD-123的市场需求逐渐上升,其独特的性能和优势使其成为业界关注的焦点。本文将深入探...
2025-02-21 13:36:54

在纷繁复杂的标识世界中,国标标识犹如一盏明灯,独特参数引领规范之路。尺寸、颜色、字体,每一项都蕴含深意。尺寸需符合人体工学,确保一目了然;颜色则需遵循标准,红色...
2010-04-21 00:00:00

正文:现代电气设备中,功率因数校正(PFC)是一项关键的技术,有效地提高了用电效率,优化了能源消耗方式。本文将为您解释PFC技术为何能实现功率因数校正及其在日常...
2023-12-21 00:00:00

一. 综述真随机数发生器(TRNG)是硬件加密的重要组成部分,它与伪随机数生成器(PRNG)不同,是利用抖动等不可控因素作为随机数的熵源,所生成的随机数具有真...
2022-10-09 16:33:00

合金贴片电阻1210是一款高精度、高可靠性的表面贴装电阻,采用先进的薄膜技术和合金材料制造而成。其尺寸仅为1.2mm x 1.0mm (1210封装),小巧的体...
2024-11-29 10:26:12

三角锁是常见的锁具,应用于家庭、办公室和商店等场所。不同类型的三角锁在设计、材质和功能上存在一些明显的区别。三角锁的材质可以分为金属和塑料两种。金属三角锁通常更...
2012-09-20 00:00:00

瓷管电阻因其良好的耐高温性能和稳定的电阻值,应用于各种电路设计中。辉城(LTEC)作为国内知名的瓷管电阻品牌,凭借其高品质的产品和技术优势,赢得了众多客户的认可...
2016-09-09 05:01:33

三星(Samsung)作为全球知名的电子品牌,其插件电阻产品因质量稳定、性能优良而受到关注。插件电阻作为电子电路中的重要组成部分,其大小规格和品牌选择直接影响电...
2012-01-12 00:12:30

现代电子设备中,肖特基二极管、万用表和LM358运算放大器是非常重要的元件。在实际应用中,很多用户会遇到LM358发烫的问题,这可能与电路设计或元件选择有关。本...
2025-04-07 22:30:03