使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。

涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。

本文所使用的开发板是zedboard

PC 开发环境版本:Vivado 2016.2  Xilinx SDK 2016.2

---------------------

作者:wangdaling

来源:CSDN

原文:https://blog.csdn.net/rzjmpb/article/details/50365915     https://blog.csdn.net/rzjmpb/article/details/50365915

一、实现的结构原理图

1、PL端硬件架构搭建

新建工程后在Create Block Design中添加IP,点击添加IP的按钮后在弹出的搜索框中搜索ZYNQ时添加PS,搜索BRAM时添加AXI BRAM Controller 和Block Memory Generator,然后对PS中的相应接口做参数设置

2、软件SDK中的代码如下:

#include

#include "platform.h"

#include "xparameters.h"

#include"xparameters_ps.h"

#include"xil_printf.h"

#include"xil_io.h"

//#define DDR_BASEARDDR XPAR_DDR_MEM_BASEADDR+0x10000000

int main()

{

init_platform();

int i;

int rev;

xil_printf("-----The test is start...\n\r");

for(i=0;i<15;i++)

{

Xil_Out32(XPAR_BRAM_0_BASEADDR+i*4,0x10000000+i);

}

for(i=0;i<15;i++)

{

rev=Xil_In32(XPAR_BRAM_0_BASEADDR+i*4);

xil_printf("the address at %x data is: %x \n\r",XPAR_BRAM_0_BASEADDR+i*4,rev);

}

xil_printf("-----The test is end!-------\n\r");

cleanup_platform();

return 0;

}

3、编译软件部分的代码,

4、将zedboard 板子的JTAG和PROG的端口与PC电脑端相连

5、然后program FPGA(从硬件部分生成的bitstream),run configuration,run

Linux下pl与ps端的通信,zedboard通过BRAM实现PS和PL的简单通信相关推荐

  1. linux下svn(subversion)服务端添加工程及配置权限

    linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...

  2. 全网史上最详细全面的Linux下安装mysql客户端服务端

    全网史上最详细全面的Linux下安装mysql客户端服务端Linux下安装mysql 1.上传MySQL5.6的tar包 创建目录: mkdir /usr/local/src/mysql5.6 上传: ...

  3. Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  4. linux下查看Tomcat服务端口号

    第一种使用命令查看 第一步,ps -ef|grep tomcat 查看运行的Tomcat 服务,获取 PID 第二步,根据 PID ,查找端口号 netstat -antup |grep LISTEN ...

  5. linux怎么安装git服务器,linux下安装git服务端

    [root@m2 ~]# yum install -y epel-* [root@m2 ~]# yum install -y git 创建仓库目录 [root@m2 ~]# mkdir /mnt/gi ...

  6. 开发基础 - Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  7. Linux下安装SVN服务端(全)

    1.简介 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. yum install subversion 2.配置 2.1.创建仓库 ...

  8. Linux下安装SVN服务端小白教程

    安装 使用yum安装非常简单: yum install subversion 配置 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成 ...

  9. Linux下安装SVN服务端教程

    1.安装 使用yum安装非常简单: yum install subversion 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面 ...

最新文章

  1. After Effects CS4 期末考试卷
  2. Java学习_day009面向对象(oop):对象和类(下)
  3. SharePoint 2007 Web Content Management 性能优化系列 前言
  4. 手机闪存速度排行_2020年双十二3000-4000元高性价比手机推荐!
  5. usb连接不上 艾德克斯电源_工程师,USB与SPI之间如何通信?什么芯片方案可以实现...
  6. Spark 交互式处理上百 TB 数据
  7. 源码安装 nginx 并设置为 service
  8. mysql更改密码_Mysql更改密码、连接mysql、mysql常用命令
  9. leach算法的实现过程_LEACH算法源代码
  10. JAVA计算机毕业设计大学生二手物品交易网站演示记录2021Mybatis+系统+数据库+调试部署
  11. 【f1c200s/f1c100s】不带中断引脚采用扫描的方式实现通用gpio-keys
  12. 将博客搬至CSDN_拔剑-浆糊的传说_新浪博客
  13. 阿里云飞天系统的技术架构
  14. 虚拟机没有网络教你如何解决
  15. NOIP2020总结
  16. 量子计算为算法指数加速:Shor‘s algorithm
  17. Android数据库与ContentProvider
  18. matlab怎么改图像的坐标轴,MATLAB函数图像坐标轴刻度改变
  19. matlab转换为exe文件,matlab GUI编程及转换为独立运行的exe文件
  20. 【论文阅读笔记】Integral Human Pose Regression

热门文章

  1. 解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)
  2. 2021年中国直播电商用户数量、成交额及企业数量分析[图]
  3. redux1 - 20行代码实现redux
  4. 关系、关系模式、关系数据库的区别和概念以及关系的完整性约束条件
  5. 『最近公共祖先·神奇转化』挖矿
  6. 计算机组成原理试验报告,计算机组成原理试验报告
  7. Git修改密码重新登录
  8. 信息化环境下企业如何做到数据安全
  9. ElementUI快速上手(jar包本地下载)
  10. 建造者模式(Builder)——从组装电脑开始