首页 > 技术 > 内容

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

时间:2025-11-28  作者:Diven  阅读:0

早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较复杂。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugIC驱动来处理相关的操作。下面具体说一下,中断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中。两者根据不同中断状态寄存器中的标识进行相应的处理。

猜您喜欢


你是否想过,你支付的电费中,有一部分其实是被白白浪费掉了?这并非危言耸听,而是与一种叫做功率因数的指标密切相关。功率因数低会导致电力浪费,增加电费支出,甚至影响...
2024-11-28 00:00:00
NTC热敏电阻独特的温度感应能力,在众多应用中是非常重要的配件。而台庆(TAI-TECH)作为业界的佼佼者,其NTC热敏电阻系列更是汇聚了多个知名品牌,为市场提...
2012-05-06 02:07:30
贴片电阻4701代表阻值为4.7kΩ的电阻。这四个数字采用了一种简化的表示法,其中前三位数字表示有效数值,最后一位数字表示10的幂次方。具体来说,「470」 代...
2024-11-26 11:30:07
突发断电情况下,应急照明系统的重要性不言而喻。A型应急照明集中电源作为应急照明系统的核心组成部分,是很重要的配件,能为建筑物内的疏散指示灯和应急照明灯提供持续供...
2024-04-16 00:00:00
随着新能源汽车行业的蓬勃发展,电池管理系统(BMS)作为电动汽车的核心技术,正吸引着越来越多的关注。相应地,电池管理系统工程师也成为了炙手可热的职业,就像是新能...
2024-08-04 00:00:00
圆形连接器是应用于电子和电气设备中的连接器,其外形呈圆形,通常由插头和插座组成。这种连接器的设计使得其在连接和断开时更加方便,且具备良好的抗干扰能力。圆形连接器...
2010-08-06 00:00:00
全球贴片电阻市场竞争激烈,厂家众多,既有国际巨头,也有国内新秀。以下列举一些知名厂家,供您参考:国际知名厂家:村田(Murata): 日本著名电子元器件制造商,...
2024-11-29 10:26:21
花露水是常见的日常护理产品,其参数主要包括以下几个方面。成分方面,花露水通常由香料、酒精、水及植物提取物等组成,这些成分共同赋予其独特的香气和清凉感。pH值是另...
2008-10-09 00:00:00
计算贴片电阻值主要依靠其表面印制的数字或色环。对于三位数字的标识,前两位数字代表有效数字,第三位数字代表乘数,即10的几次方。例如,标识为103的电阻,其阻值为...
2024-11-29 10:25:42
接头封装和保护是电子元件和电路设计中非常重要的环节。接头封装是将电子元件通过特定的材料和工艺进行封装,以确保其在使用过程中的稳定性和可靠性。这一过程不仅涉及到对...
2017-04-20 00:00:00