摘要:目前一共整理三种中断,主要整理三种中断(AXI_GPIO、EMIO、PL-PS_irq)在PL和PS侧的使用
一、AXI_GPIO
这个IP可以用作单bit的输入和输出;也可以单独作为中断或者复位等使用;
使用AXI GPIO IP,可以连接HPM口与PS进行通信,所以需要给AXI GPIO定义地址;
与EMIO在PL侧有一个很大的区别是,AXI_GPIO是需要定义地址和空间的;随着AXI_GPIO使用的越多,地址就使用的越多,整个地址空间是需要整理和定义,用起来还是比较繁琐的;
在PS中的使用vitis是有例程的;
二、EMIO
EMIO要和MIO区分开;MIO我理解,这是PS和PL通信中已经在硬件上存在的pin或者连接;但是EMIO应该属于虚拟的连接,并且EMIO是可以连接到FPGA的pin上与外面进行通信的;
MPSOC给了95个EMIO(GPIO);与AXI GPIO不同,他是没有地址的;只有在PS侧的映射关系,比如:
xilinx论坛:
69965 - 2017.x Zynq UltraScale : How does the GPIO via EMIO map to the sysfs
三、PL-PS-Interrupt
xilinx文档对这里进行了介绍:Zynq UltraScale+ Device Technical Reference Manual (UG1085)
PS侧需要按照红框中的编号去进行使用;