本文使用环境:
主控:ZYNQ-7020

一、项目概述

^^^^这篇教程主要介绍ZYNQ中Linux下EMIO的使用,之前有同学在群里问到过,正好有时间好好整理一下,EMIO的使用。主要是EMIO端口的配置和编号,不涉及具体的端口的输出和输入程序设计,有需要的看如下文章:
链接: 上篇文章.

二、vivado工程设计

1、第一步是建立vivado工程.

^^^^具体的操作步骤各位看官应该都知道了,本文只介绍关键的引脚分配。打开vivado工程,按照如图所示进入。
在这里插入图片描述

^^^^接下来。找到GPIO选型,选择EMIO:
在这里插入图片描述
^^^^如上图所示,EMIO选项后面有一个(Width),简单理解就是用多少个GPIO,本文所用工程是一个项目中的一部分,所以选择了14,具体数量可以根据实际情况进行选择。配置完成后会出现如下引脚:数量和配置对应
在这里插入图片描述

2、分配管脚
^^^^以上步骤只是将EMIO管脚设置成了14个,但是还没有分配哪个管脚用哪一个,所以接下来依次打开如下配置:
在这里插入图片描述
^^^^如上图所示,图中就是14个对应的EMIO,这里需要依次选择配置所使用的GPIO。多说一句;分配的GPIO及PL端的EMIO(J18 J16等等)是很多的,所以可以随便分配。
注意: 这里需要注意的是,端口编号和linux下的端口编号一一对应,举个栗子:gpio0_tri_io[0] 在linux下标号为GPIO(base+mio+0),其中base表示linux下GPIO的开始编号(我的工程是903),mio表示MIO的数量总和(统一为53)。上篇文章: ZYNQ-Linux下操作GPIO-应用层读写.。每个GPIO具体的的配置可以查看GPIO后面的选项:
在这里插入图片描述
^^^^包含方向、IO电平、上下拉等。。。配置完成后进行编译,生成hdf文件,并配置linux系统(不再赘述)。

三、端口分配

^^^^这里放一张项目中使用的引脚配置情况,供大家参考。
在这里插入图片描述
^^^^解释一下上图:最下部就是EMIO端口,从往上分别为:J16 J18 。。。G14。分别对应二、2、中的:0。1。。。。13。J16表示第一个EMIO。其编号计算如下:54(MIO) + 0(EMIO) = 54。及 903 + 54 = 957。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐