小白初学zedboard 2

继续之前的问题。。

查了一些资料,其中zhaoyongke的博客http://www.openhw.org/zhaoyongke/blog/13-04/293202_a1698.htmlAXI总线学习中
提到:

ARM将用户自定义IP编入某一地址进行访问,读写时就像在读写自己的片内RAM,编程也很方便,开发难度较低。代价就是资源占用过多,需要额外的读地址线、写地址线、读数据线、写数据线、写应答线这些信号线,而且传输速度受限(主要是因为采用AXI-GP物理接口,带宽很低)。

我这种应用 用AXI4 应该可以做。所以 详细学习一下AXI4工作模式。

AXI4总线分为主从两端,两者间可以连续通信。让PL是muster,负责数据搬运好啦。

参见zedboard zynq 架构整理 jefby的博客http://www.eefocus.com/jefby1990/blog/13-05/293838_5ea28.html

这个图1中显示,FPGA作为主设备,DDR Controller作为从设备有相应的AXI,看来之前的猜测对了,这个AXI就是AXI4吧

继续探索中。。

怎么把PS和PL部分结合起来,这个首先得知道怎么自定义通用IP核,或者用现有的IP核。并将之导入到PS中,然后编写驱动和应用程序来入门。这个DDR controller

应该就是现有的IP核。但是看见好多人写的基于AXI 总线的从设备IP设计,但是就是没有生成DDRcontroller的例子。。。

看看熟悉一下流程也好:

1.首先使用XPS创建ARM PS系统;2.创建AXI IP 3.将自定义IP核添加到PS系统 4.使用SDK编写IP核驱动程序和应用程序
5.下载及代码调试

就是说DDR controller属于AXI IP,那么就是一个由AXI连接到FPGA的一个从设备,也就是说DDR Controller 另一端是FPGA
那么我应该去找硬件说明中DDR 怎么通过AXI连到FPGA的。再次翻看ZedBoard_RevC.1_Schematic_130129.pdf
依然只有DDR与PS端的连线。看来应该找zedboard中关于AXI的文档,不知道什么文档。。。

先看一下cuter的博客 创建基于AXI Lite总线vga测试IP核系列。http://blog.chinaaet.com/detail/30923 做一下看看什么流程:(这一系列的看完就知道开发工具的使用流程并且知道怎么新建自己的IP核)虽然不是解决我的问题,还是看一下。

下面继续回到我的问题:PS直接读写DDR,PL作为主设备通过AXI4与从设备DDR Controller
相连,再访问DDR。现在的问题就分成2个小问题。一个是PS访问DDR怎么做。另一个是怎么讲PL与DDR
Controller连起来并实现读写DDR。之前我们根据向导生成IP的过程中出了问题...

刚刚又问了个牛人,他提到了xilinx的application note。让我想起来,最开始问达人的时候也提到了这个app
note 说是一些常用的上面都有,但是我还是不知道这个application note里面都有些啥。
找了一下xilinx官网发现一下信息可能会有用 http://www.xilinx.com/support/answers/45195.html 太晚了
明天继续看。。

小白初学zedboard 2,布布扣,bubuko.com

时间: 2024-10-06 00:29:34

小白初学zedboard 2的相关文章

小白初学zedboard 1 (遇到问题求教)

到网上查了一下,zedboard的资料好多,也看了好多,但还是不知道从哪入手...一步一步试着做好了,错了再纠正. 首先,我想先做PL实现读写DDR3. 参见:@超群天晴 http://www.cnblogs.com/surpassal/ 使用自带外设IP让ARM PS访问FPGA,我是想实现FPGA访问DDR3.都是使用自带外设IP进行通信,应该差不多.所以试着做,如下:(将步骤写在下面,犯的错误也容易发现) 1. 创建硬件工程:按照一步一步学zedboard & zynq(三) 启动XPS,

小白初学python

楼主无只小白,初学python.本来想着用sublime去学习的,但是无奈不怎么懂得解决sublime环境问题,转用pycharm,直接去pycharm下载免费开源的软件之后,新建project, ,之后新建一个python file 便开始了我的python的学习之旅. 原文地址:https://www.cnblogs.com/sharkchen/p/8431029.html

小白初学Java的一点点收获

作为刚刚学习Java没有几天的小白,我想把我我在学习过程中,所遇到的疑惑,知识,和掌握的小技巧和大家一起分享分享.在这个过程中,希望大家可以有所收获,有什么不对的地方,希望大家指出并且私信我. 首先说说第一次记事本开发的Java三个步骤,以HelloWorld为例. 1:使用记事本编辑源程序,以.Java后缀名保存:              2:使用Javac命令编译.java,生成.class文件: 3:使用Java命令运行.class输出程序结果. 注意事项: 1:文件名于类名完全一样,首

小白初学 MBR 扇区损坏 及还原

虚拟机内模拟MBR扇区损坏,及如何还原. 首先在虚拟内添加一块硬盘,大小20G就OK. 开机.......... 漫长的等待中,终于卡机了  输入用户名: root 密码:******* 首先我们先检查下磁盘 然后将磁盘进行分区 格式化硬盘 mkfs.ext3 /dev/sdb1 格式完以后呢,创建一个挂载的目录 mkdir /date 然后将硬盘sdb1挂载到 /date 下 mount /dev/sdb1 /date 查看是否挂载成功. 然后呢就是讲MBR的512字节的数据备份到sdb1上

小白初学搭建 配置本地yum

挂载ISO 到 /media 首先检查光盘是否安装好. 卸载 umount /dev/cdrom 挂载 mount /dev/cdrom /media 查看是否挂载成功 mount | tail -n 1 查看验证  ls /media 搭建成功以后  cd /etc/yum.repos.d 查看  ls rhel-debuginfo.repo   /这是一个模板 8. 将这个模板文件重新拷贝一份,重新命名. cp rhel-debuginfo.repo  rh-server5.9.repo 9

小白初学ABP框架,着实累啊

这几天在学习ABP相关的知识AutoMapper ,AngularJS,Less,DI(dependencyInjection),EntityFramework code first以及相关NuGet包管理控制台,castle windsor (容器注入),接触Dto,Repository(仓储) 和 SPA(singlePageApplication),弄了三四天终于可以弄起一个完整的ABP简单项目了,实在不容易啊,之前还什么是IOC都不知道的,现在感觉又进步了不少,虽然这几天挺累的,但是想想

小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)

过了几天,我又来了.上一篇中有博友提到要分享下属于我们abp初学者的历程,今天抽出点时间写写吧.起初,我是直接去看阳光铭睿的博客,看了一遍下来,感觉好多东西没接触过,接着我又去下了github 里面下了几个例子来看,看起来还是有点吃力,毕竟我只用过MVC3和asp.net4.0以及EntityFramework3.5 ,突然感觉自己好像跟世界脱轨了,什么IOC只是听老师提过,当时不知道有什么用就没怎么听,AutoMapper,AngularJS,Less什么的没听过.没办法,只好先去一个一个把他

小白初学Vue之 组件与实例的关系 初试篇

内容:组件和实例 一.组件和实例的关系 先看下之前的代码,来看下整体的架构 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>拆分组件</title> 7 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"

java小白 初学单例模式之饿汉模式(望各位大佬多多指点)

单例模式的作用 就是只能创建一个对象 步骤 第一步 创建一个用私有的,静态的当前类的对象,代码如下 private static Dog dog = new Dog();(注意这里首先创建了一个Dog类的对象) 第二步 创建一个私有的,无参的构造方法,代码如下 private Dog(){} 第三步 写一个静态的,参数为当前类的一个get方法,其实就是调用这个方法创建对象,代码如下 public static  Dog  getDog(){ return  Dog; } 原文地址:https:/