P2中ZYNQ的PS控制PL端LED

第一个ZYNQ的实验,用于熟悉开发环境和板卡,通过GPIO控制LED,由于P2在ps端没有LED,所以需要通过axi总线控制PL端LED。

1、参考设计

参考的是黑金的《PL 端和 PS 端的协同设计流水灯实验 》。

2、新建工程

新建一个工程,选择zynq的FPGA,然后Create Block Design,然后右击Add ip,输入zynq,如下图所示:

然后更改里面配置,首先将时钟设置为50M,如下图所示:

为了使用SDK中的hellow world例程,需要选择一路串口,U0和U1都可以,P2使用的是U0, ZEDBOARD使用的是U1打印。

再添加GPIO

步骤就是RunBlockAutomation-->GenerateOutputProducts-->GenerateOutputProducts

最后添加约束文件xdc

set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[3]}]

 

set_property PACKAGE_PIN R14 [get_ports {gpio_rtl_tri_o[0]}]

set_property PACKAGE_PIN P14 [get_ports {gpio_rtl_tri_o[1]}]

set_property PACKAGE_PIN N16 [get_ports {gpio_rtl_tri_o[2]}]

set_property PACKAGE_PIN M14 [get_ports {gpio_rtl_tri_o[3]}]

生成bit文件,然后export,同时export bit文件,最后launch SDK。

3、SDK端设计

SDK的界面类似于eclipse,新建APP。

然后输入随意的名称,选择hello world的工程。

修改main文件如下所示:

#include <stdio.h>

#include "platform.h"

#include "xil_printf.h"

#include "xparameters.h"

#include "xgpio.h"

 

XGpio GpioOutput;

 

int main()

{

 u32 Delay;

 u32 Ledwidth;

 

init_platform();

 

XGpio_Initialize(&GpioOutput,XPAR_AXI_GPIO_0_DEVICE_ID);

 

XGpio_SetDataDirection(&GpioOutput, 1, 0x0);

 

XGpio_DiscreteWrite(&GpioOutput, 1, 0x0);

 

while (1)

{

 for(Ledwidth =0x0;Ledwidth < 4; Ledwidth++)

 {

   XGpio_DiscreteWrite(&GpioOutput,1,1<< Ledwidth);

   for(Delay = 0; Delay < 8000000; Delay++);

   XGpio_DiscreteClear(&GpioOutput,1, 1 <<Ledwidth);

 }

 

 

 

}

cleanup_platform();

 return 0;

 

}

首先下载bit,然后运行软件,流水灯就亮了。

4、问题解决

一开始SDK一直提示无法停止after reset,需要将SD卡取下来,并按SRST,就可以了。

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

软件无线电小方圆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值