首页 > 技术 > 内容

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

时间:2026-01-30  作者: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华南国际智能制造、先进电子及激光技术博览会(LEAP Expo)旗下成员展 — 慕尼黑华南电子展(Electronica South China)将于1...
2024-10-10 16:39:00
电气设备的维护和检测中,绝缘电阻表是必不可少的工具。尤其是高精度绝缘电阻表,因其测量准确、性能稳定,应用于电力、通信、制造等行业。面对市场上众多品牌和型号,很多...
2025-11-08 13:00:37
打包机作为现代包装行业的重要设备,具备多项显著优势。打包机能够显著提高工作效率。相比手工打包,机械化操作不仅速度更快,还能减少人力成本,提升生产线的整体运作效率...
2024-07-31 00:00:00
橡胶止水带是应用于水利工程和建筑工程中的防水材料。主要用于防止水的渗漏,确保建筑物的结构安全和耐久性。在水坝、河堤等水利设施中,橡胶止水带能够有效阻止水流对结构...
2014-07-20 00:00:00
随着工业自动化和电子产品的快速发展,保险丝作为重要的电子元件,其质量和可靠性直接关系到设备的安全运行。苏州力特奥维保险丝有限公司作为业内知名企业,受到关注。那么...
2025-11-17 16:00:06
当今移动互联时代,电子设备的续航能力成为用户关注的焦点。而多节锂电池以其高电压、大容量等优势,被应用于各种电子产品中。为了充分发挥多节锂电池的性能,并确保其安全...
2024-11-01 00:00:00
Kyocera(京瓷)作为知名的品牌,其分流器电阻因高精度和高可靠性广受欢迎。分流器电阻在电路中起到测量电流和保护电路的重要作用,而选择合适的品牌和类型对于电子...
2015-06-30 21:37:16
同步整流控制器是用于电源管理的高效电子设备,主要用于将直流电压转换为所需的电压水平。其核心功能是通过同步整流技术,提高电源转换效率,降低能量损耗。在传统的整流器...
2020-03-31 00:00:00
1、引言在ADSL系统中,由DSLAM(数字用户接入复用器)完成ATM的终结和路由。该模型分为4层,自上而下分为高层、从AAL层、ATM层和物理层。这里高层是...
2020-07-21 17:24:00
贴片电阻上的122标识并非直接代表阻值大小,而是采用一种三位数字编码表示法。其中前两位数字12代表有效数字,第三位数字2代表10的幂次方。因此,贴片电阻122的...
2024-11-29 10:26:20