vivado2017.4嵌入式系统设计实现-2在PL内添加外设(使用zedboard开发板)

实现在基本PS系统上添加两个通用I/O IP核。

一、添加两个GPIO实例

1、打开design_1.bd文件

 2、配置zynq

勾选AXI GP0 interface

 选择General -  Enable Clock Resets - 选中FCLK_RESET0_N

 选择FCLK_CLK0

 之后点击ok

3、添加IP核

(1)找到AXI_GPIO并双击,将其添加到设计中

(2)选择AXI_GPIO,可以通过以下设置修改其名称

(3)按照以下配置GPIO

(4)选择自动连线

 重新绘制系统块图

4、继续添加IP核

(1)添加gpio

添加之后修改名称

(2)配置IP核

(3)修改AXI Interconnect

(4)手动连线

同时连接

连接好后重新绘制

(5)为buttons分配地址

选择buttons右键 Assign Address

5、连接外部GPIO

对设计验证

二、设计综合

 1、更新HDL文件

(2)综合

查看自动分配好的引脚

三、生成比特流和导出硬件到SDK

1、生成bit 

 

2、导出硬件设计

File-Export-Export Hardware

3、启动SDK

File-Launch SDK

四、生成测试程序

1、删除前一个工程所生成的应用工程和板级支持包

2、删除前一个工程生成的硬件平台信息

3、File- new -Board Support Package 

之后如下,点击OK自动编译BSP工程

4、新建应用工程

File-New -Application Project

5、添加.c文件

选择src文件夹,右键  new .c

# include "xparameters.h"
#include "xgpio.h"
int main(void)
{
   XGpio dip,push;
   int psb_check,dip_check;
   xil_printf("--Start of the Program--\r\n");
   
   XGpio_Initialize(&dip,XPAR_SWITCHES_DEVICE_ID);
   XGpio_SetDataDirection(&dip,1,0xffffffff);
   
    XGpio_Initialize(&push,XPAR_BUTTONS_DEVICE_ID);
   XGpio_SetDataDirection(&push,1,0xffffffff);
   
   while(1)
   {
     psb_check=XGpio_DiscreteRead(&push,1);
      xil_printf("Push Buttons Status %x\r\n",psb_check);
      dip_check=XGpio_DiscreteRead(&dip,1);
      xil_printf("DIP Switch Status %x\r\n",dip_check);
      
      sleep(1);
   }

6、bit流文件下的ZYNQ

SDK下  Xilinx- Program FPGA  下载成功之后蓝灯亮起

7、下载应用程序

选择TestApp 右键 Run As -Launch on Hardware (GDB)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值