vivado配置EMIO(使用vivado配置XDC文件)

硬件平台:黑金AXU3EG
软件平台:vivado2020.1 vitis2020.1
在这里插入图片描述
在这里插入图片描述
完成配置 选OK 在Diagram窗口中可以看到已经多了一个GPIO
选中端口 点击鼠标右键 选择Make External
在External Interface Properties 可以更改GPIO名称
在这里插入图片描述
在这里插入图片描述
Ctrl+S 保存设计
生成顶层HDL
在这里插入图片描述

在这里插入图片描述

生成Bitstream文件

在这里插入图片描述
对话框有OK点OK YES 点YES

在这里插入图片描述
完成后Ctrl+S保存管脚约束 在弹出的对话框中输入XDC文件名之后OK

在这里插入图片描述
生成bitstream文件 生成后弹出对话框选择如下图
在这里插入图片描述
可以选择查看资源使用报告
在这里插入图片描述
导出硬件
在这里插入图片描述
至此vivado部分结束
在这里插入图片描述
通过生成的XSA文件创建VITIS工程

使用PL端扩展的EMIO引脚 引脚号 查看使用手册推断 Pin78
在这里插入图片描述
MIO到77 第一个EMIO为78
代码实现PL端按键控制PS端LED
PL扩展的EMIO与MIO用法一致

#include "xparameters.h"	 //器件参数信息
#include "xgpiops.h"		 //包含PS GPIO的函数声明
#include "xstatus.h"		 //包含XST_FAILURE和XST_SUCCESS的宏定义
#include <xil_printf.h>  	 //包含print()函数
#include "sleep.h"			 //sleep()函数

#define GPIO_DEVICE_ID		XPAR_XGPIOPS_0_DEVICE_ID //定义器件ID号
#define PS_LED1             40        //PS端LED宏定义
#define PL_KEY              78		  //PL端按键宏定义
XGpioPs PS_Gpio;           			  //GPIO设备的驱动程序实例

int main(void)
{
	int Status;
	
	XGpioPs_Config *ConfigPtr;        //设备配置信息结构体指针

	print("EMIO test \r\n");

	//查询设备器件ID号
	ConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);

	//XGpioPs_CfgInitialize 为PS端GPIO初始化函数 返回值为XST_FAILURE 和 XST_SUCCESS
	Status = XGpioPs_CfgInitialize(&PS_Gpio, ConfigPtr,
						ConfigPtr->BaseAddr);

	if(Status != XST_SUCCESS)
	{
		return XST_FAILURE;
	}

	//设置LED引脚方向 LED为输出
	XGpioPs_SetDirectionPin(&PS_Gpio, PS_LED1, 1);
	//设置指定引脚的输出使能
	XGpioPs_SetOutputEnablePin(&PS_Gpio, PS_LED1, 1);
	
	//设置PL_KEY引脚为输入
	XGpioPs_SetDirectionPin(&PS_Gpio, PL_KEY, 0);

	while(1)
	{
		if(XGpioPs_ReadPin(&PS_Gpio,PL_KEY) == 0)
		{
			usleep(10000);					 //消抖
			XGpioPs_WritePin(&PS_Gpio, PS_LED1,1);
		}
		else
		{
			usleep(10000);
			XGpioPs_WritePin(&PS_Gpio, PS_LED1, 0);
		}
	}
	//返回值为XGpioPs 实例/驱动程序初始化状态值
	return XST_SUCCESS;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李时珍的瓜皮怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值