比如本节实验,我们需要读取PL端FPGA里面的寄存器,这个寄存器本质上也属于通用IO,也就是GPIO类,所以在Linux RT程序初始化之前,我们需要利用下面图5-6里面的GPIO动态加载Load_GPIO_KO函数(PSLoadGPIOKO(SubVI).vi)加载GPIO驱动,等到Linux RT程序停止退出之前,再调用Unload_GPIO_KO卸载函数(PSUnloadGPIOKO(SubVI).vi)...
案例功能:PS端通过AXI4-Lite总线发送命令至PL端AXI GPIO IP核,IP核再根据命令控制评估底板PL端LED5的状态 图3 1.1 操作说明 1.2.1 基于裸机测试 加载PS端裸机程序、PL端程序后,即可看到评估底板的LED5每隔0.5s亮灭一次。 1.2.2 基于Linux测试 将本案例的动态设备树镜像文件pl.dtbo和PL端.bin格式可执行...
Bank0,Bank1通过MIO连接到PS的引脚,Bank2/Bank3通过EMO连接到PL 软件通过一组存储映射的寄存器来控制GPIO。 寄存器组 DATA RO.用来反映器件引脚的状态。 DATA,在GPIO被配置成输出的时候,该寄存器可以控制输出的数值 MASK DATA LSW, 用于屏蔽DATA的低16位 MASK DATA MSW, 用于屏敲DAIA的高16位DRM, DIRM,用于...
3)点击“OK/确定”后,可以看到LabVIEW项目下多出来一个Linux RT的终端设备,将其重命名为“ZYNQ7020_PS_Linux_RT”,如图5-133所示;右击这个“ZYNQ7020_PS_Linux_RT”选择最下面的“Properties/属性”,在弹出来的属性配置页面里面,将IP地址设置成下位机ZYNQ开发板里面直连方式下的IP地址:192.168.2.99,如图5-134所...
首先,要实现GPIO中断应用,需要确保Linux内核中已经正确配置了GPIO模块。在Zynq芯片上,GPIO控制器通常被集成在PS(处理系统)中,可以通过设备树(device tree)进行配置。设备树是一种描述硬件信息和设备链接关系的数据结构,可以在Linux内核启动时加载并正确配置相关硬件模块。
1、MIO直接挂在PS上,而EMIO与PL相连,PS通过PL调用EMIO。MIO共有54bit,EMIO共有64bit。 MIO管脚是固定的,而EMIO需要通过管脚约束文件进行分配。MIO、EMIO管脚号均通过实际原理图查找。 2、AXI_GPIO是通过AXI总线挂在PS上的GPIO,一般通过调用IP核实现,如PS通过AXI_Uartlite调用PL端资源。
一、组成 ZYNQ上面移植Linux操作系统包括四个部分,uboot,devicetree,kernel,ramdisk. 其中uboot类似于bios,负责对设备进行简单的初始化,devicetree以树的形式对zynq相连的硬件设备进行描述,kernel是加载的操作系统内核,ramdisk是操作系统启动之后挂载的文件系统。
1、ZYNQ PS外设简介 ZYNQ PS 中包含一组丰富的外设,如 USB 控制器、 UART 控制器、 I2C 控制器以及 GPIO 等等,他们提供了各种工业标准的接口, 用于和外部设备进行通信。 ZYNQ 分为 PS 和 PL 两部分,那么器件的引脚( Pin)资源同样也分成了两部分。ZYNQ PS 中的外设可以通过 MIO( Multiuse I/O,多用输入/...
1 axi_gpio_led_demo案例 1.1 案例功能 案例功能:PS端通过AXI4-Lite总线发送命令至PL端AXI GPIO IP核,IP核再根据命令控制评估底板PL端LED5的状态 图 3 1.1 操作说明 1.2.1 基于裸机测试 加载PS端裸机程序、PL端程序后,即可看到评估底板的LED5每隔0.5s亮灭一次。1.2.2 基于Linux测试 将本案例的...
6. 设置GPIO管脚方向,使能输出: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 XGpioPs_SetDirectionPin(&Gpio,ledpin,1);XGpioPs_SetOutputEnablePin(&Gpio,ledpin,1); 7.将所需的输出值写入GPIO引脚: 代码语言:javascript 代码运行次数:0