Zynq
水田在奋斗
Freeze! Don't Move!
展开
-
Zynq的LWIP裸奔应用
最近,模仿zedboard做了一个Zynq的ARM+FPGA开发平台。在Vivado上生成硬件bit后,就使用SDK开发软件了,直接使用LWIP示例。可以和电脑连上,电脑显示未知网络,可以用CMD ping成功,但有50%的丢包率。使用TCP/IP助手实现数据读写,有延迟出现。下把修改LWIP修改bug。原创 2016-08-13 20:25:25 · 6174 阅读 · 0 评论 -
Zynq和PC的USB通信
最近,研究一下Zynq和PC间的USB通信,在网上找了一个ZedBoard_Standalone_USB_Device_Tutorial_14_6_01例程。 开始用SDK编译,发现build过程有几个错误: MemSize = XUsbPs_DeviceMemRequired(&DeviceConfig); DeviceConfig.DMAMemVirt = (u32) MemPtr; D原创 2016-10-07 17:17:22 · 12354 阅读 · 18 评论 -
仿照ZEDboard设计板子调试
最近,按照Zedboard设计了一个板子,看起来问题不大。但实际上开始上手就遇到问题。首先是用了一个2百块的Xilinx USB cable, Vivado上直接报错,找不到server。后来借了一个原装的下载线,可以识别出server了,但是却找不到target,仔细排查了一遍,发现一个问题:引脚拉低了,在没有写代码的情况下,Zynq的功耗就很大,几乎触手就会有点烫的感觉,而且输出引脚全部为高原创 2016-10-05 22:30:39 · 1227 阅读 · 0 评论 -
Zynq boot mode MIO 配置
Zynq 可以配置从不同目标boot的启动方式,官方提供表格如下: 一般是拨码开关设计,关注从mode0~4,五个配置开关。 其中发现Xilinx的zedboard的原理图中对MIO2-6的net取名和上图不是对应的。也就是说原理的SPI-DQ0/MODE0对应MIO2,上图的MIO2对应的BOOT_MODE3,也就是说两个MODE序号没有对应的关系,不能混淆了, 还是以MIO为准。 几个原创 2016-10-06 14:29:48 · 5198 阅读 · 0 评论 -
Xilinx 官方example的TCL使用
最近在研究Zynq的过程中,不可避免的在Xilinx官方网站寻找support。官方的support有不少example和turtle。但是刚开始下载了example发现,下过来的根本不是vivado的工程文件,而是使用TCL写的脚本,以及包含了SDK的source源代码。明眼人知道,在vivado设计工作中,按部就班的模块化了设计,其实还可以用TCL脚本实现,TCL语句可以在Vivado的TCL原创 2016-09-22 15:48:49 · 5773 阅读 · 1 评论 -
DMA在Vivado和SDK应用解读
在“Zynq DMA 的简单介绍”中,我推荐了一篇DMA的应用实例,如下链接: http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html 在该文中,hardware的工程建立和编译可以按图索骥,其中作者预留了两个中断接口。 在software中,作者也提供了源代码,带没怎么解释,下文我来解读一下。原创 2016-09-22 15:12:06 · 6567 阅读 · 2 评论 -
Zynq DMA 的简单介绍
AXI Direct Memory Access (AXI DMA), 从名字我们知道为带AXI 总线的直接存储通道。其优点是通过PS端的简单配置,就实现PL和DDR3之间的快速存储。原创 2016-09-08 16:04:15 · 14324 阅读 · 1 评论 -
Zynq 的AXI4 总线应用
三种AXI4(支持最大256数据突发传输),AXI4-Lite(AXI4的阉割版,单次传输),AXI4-Stream(高速度流数据传输,无限制突发传输)直接打算使用AXI4原创 2016-09-07 11:03:29 · 3656 阅读 · 0 评论 -
XC7Z020 应用框架设计
在摸索了一段时间的Zynq后,自己制作了一块XC7Z020板子,板子到手后考虑使用中的总体框架。基本确定使用Ethernet为PC和board之间的通讯方式,DDR3作为PL端的大数据存储单元,并且划出一些寄存器用于PS和PL间的指令下达和状态返回用途。PL大数据传输例化DMA_IP core,连接DDR3。编写带AXI_lite接口的自定义IP_Core任意读存DDR3,兼顾PL扩展IO用途。在E原创 2016-09-08 15:17:19 · 6582 阅读 · 0 评论 -
LWIP和DDR3配合实现 数据接收和发送(zedboard)
在LWIP的基础上,在Echo.c文件中的recv_callback()函数中,显示以太网的数据存储。添加zynq对DDR3的支持文件和首地址定义(可在xparameters.h中查询)#include"xparameters.h"#include"xparameters_ps.h"#include"xil_io.h"#define DDR_BASEARDDR原创 2016-08-17 16:45:29 · 4871 阅读 · 4 评论 -
LWIP 数据接收和发送
在Znyq的SDK例程中,main中主循环发送接收,其中接收为xemacif_input(echo_netif):查询xemacit_input 函数里xemacif_input原创 2016-08-16 16:45:34 · 13806 阅读 · 0 评论