(6)由于我们按键中断是接在axi_gpio_1上,我们需要修改该例程的宏定义,将GPIO_0改为GPIO_1。 (7)例程的GPIO中断代码说明如下: (8)修改例程的GPIO中断服务函数“GpioHandler”,使其完成4个拨码开关分别控制4个LED灯的亮灭功能: 其中“XPAR_GPIO_1_BASEADDR”为拨码开关GPIO IP核的地址、“XPAR_GPIO_0_BA...
系统功能:使用一个MIO使连接其上的LED闪烁,使用8个EMIO同样与LED连接构成流水灯效果,另外再调用一个5bit位宽的AXI-GPIO IP核以终端模式响应电路板上5个按键。 平台:米联客 MIZ702N (ZYNQ-7020) 配置ZYNQ IP,使能MIO和EMIO,配置EMIO位宽是8bit。 使能Cross Trigger和共享中断。 之后添加AXI-GPIO IP Core,配置...
根据上图,双击zynq ip核进行配置,因为这里需要接收的按键中断是从PL端到PS端的,首先选中Fabric Interrupts中断组织,然后选中IRQ_F2P[15:0],使能16-bit的PL->PS共享中断端口,以便于来自PL端的中断可以连接到PS的中断控制器上: 2.2.3.连接AXI_GPIO的中断请求和PS的中断端口 手动进行连线: 2.3.验证设计,创建HDL...
下面上实例,工程中我们用AXIDMA来搬移数据(详细使用日常在AXIDMA篇),由于16个软件中断已经不够用了,所以我们将中断挂在GPIO上(EMIO)来判断是否有输入: #defineINTC_DEVICE_ID XPAR_SCUGIC_SINGLE_DEVICE_ID//通用中断控制器 ID#defineINTC XScuGic#defineINTC_HANDLER XScuGic_InterruptHandlerstaticXGpioPs Gpio;/*...
AXI GPIO 中断 ID1516 #define MIO_LED 0 //PS LED 连接到 MIO017 #define KEY_CHANNEL 1 //PL 按键使用 AXI GPIO 通道 118 #define KEY_MASK XGPIO_IR_CH1_MASK //通道 1 的位定义1920 //函数声明21 void instance_init(); //初始化器件驱动22 void axi_gpio_handler(void *CallbackRef); //...
探索Zynq中PL->PS的中断,按下按键产生一个中断,这个中断被通用中断管理单元所处理,然后传递给Zynq PS,将变量值递增然后将值显示在led上。 2.实验步骤 2.1.新建基于Pynq-Z2的工程 2.2.创建硬件块设计 2.2.1.添加所用ip并自动连线 添加两个AXI_GPIOip核,一个连接板载4个按钮,一个连接板载4个led ...
引脚说明表如下,在这个表中,大致分为了两类,第一类s_axi接口的相关引脚,用于配置挂载到AXI总线,s_axi_*这是一组信号接口,用于进行数据的交互和配置;第二类是和GPIO有关的信号接口,这里的IP中有两组gpio,每组输出三个信号经过一个三态缓存器实现三态输出。为了实现中断功能,这里的ip2intc_irpt是中断的敏感信号...
AXI GPIO的寄存器也不多,主要是两个channel 的数据寄存器GPIO_DATA和GPIO2_DATA,两个channel的方向控制GPIO_TRI和GPIO2_TRI,以 及全局中断使能寄存器GIER,IP的中断使能IP IER和中断状态寄存器ISR,具体的功能可以看 AXI GPIO 的文档 pg144。 AXI_GPIO 直接操作寄存器输出 ...
在已有一个按键中断的基础上,添加一个定时器中断,掌握添加多个中断到PS的方法。 2.2.实验步骤 2.2.1.添加AXI Timer IP核并自动连线 添加时搜索"timer",选择AXI Timer添加,然后点击自动连线,结果如图: 2.2.2.连接AXI Timer的中断到PS端 因为PS端的共享中断接口已经连接了一个AXI GPIO中断,所以如果要继续连接一个...
XGpioPs_Config *GpioConfigPtr; static XGpio GPIOInstance_Ptr; int main(void) { int Status; int xStatus; u32 uPinDirection = 0x1; led_state = 0; init_platform(); print("GIC Example Test\r\n"); //axi gpio的初始化,这里比之前的GPIO多了中断的使能 ...