【转】
原 zynq中三种实现GPIO的方式 2016年08月04日 21:47:06 husipeng86 阅读数 8380 更多 分类专栏: zynq 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/husipeng86/article/details/52123465 本文介绍在zynq中三种实现GPIO的方式,分别为MIO、EMIO和IP方式。 MIO和EMIO方式是使用PS部分的GPIO模块来实现GPIO功能的,支持54个MIO(可输出三态)、64个输入和128个输出(64个输出和64个输出使能)EMIO 而IP方式是在PL部分实现 GPIO功能,PS部分通过M_AXI_GP接口来控制该GPIO IP模块;另外EMIO模块虽然使用PS部分GPIO但也使用了PL部分的管脚资源。 MIO方式实现GPIO vivado中zynq设置如下图 由图中可见要选中打开GPIO,其下自动显示可用于GPIO的MIO(当MIO作为其他功能时就不能作为GPIO使用了),其中MIO 7、MIO 8只能作为输出使用,因为它们用于VMODE管脚(参考UG585第14章:14.2.3) 软件部分如下 #include <stdio.h> #include "platform.h" #include