1,好早买了块FPGA板,zynq 7010 。终极目标是完成相机图像采集及处理。一个Window C++程序猿才开始学FPGA,一个小菜鸟,准备转行。

2,关于这块板,卖家的官方资料学起来没劲。推荐上GOOGLE ,YouTube 搜“Zynq Training”等等。感觉质量好高。,英语很简单,大部分能听懂。

3,在google问题时意识到可以看一下zedboard的资料。下载zedboardd的官方资料,发现有个优点是能够把各个名词解释一遍。可以搜“zedboard_CTT_v2013_2_130807”。随便下的,有点老。

4,下面根据zedboard的资料一步步跟着完成第一个工程,算是一种仪式:

一、Creating a New Embedded Project With a Zynq Processing System

1,打开VIVADO   

2,Create new project,    

3,选择工程文件夹存放目录,填写工程的名字。

4,选择器件,我的是xc7z010clg400-1。直接搜索点击选择,下一步,完成向导。

二、IP Integrator

1,创建空的block design ;类似画布,可以在上面组织RTL。

2,增加已有的IP,类似组件。可以点击左边的图标,或者上方的链接字样{add IP},或者快捷键 ctrl + i

3,增加IP核 “zynq7 processing system”,搜索,双击,一个ip就添加到block design中。双击刚添加的zynq7 System。使能和不使能某些端口和功能。

4,双击增加的IP,编辑的它的端口。

总的说:本helloword只用到PS部分串口打印出helloword。所以除了UART1打勾(为什么是UART1而不是UART0) ,其他选项都去掉。展开所有,查看其他选项是否去掉打勾。

5,自动连线-》OK

6,生成顶层文件:切到sources页,展开Design sources ,右击block design名,弹出下拉菜单选择 Create HDL wrapper。点击OK。生成的wrapper文件出现在block design的上一级目录

7、生成bitstream。左下角点击generate bitstream 。如果你没做前面的综合和实现,直接点generate bitstream这个按钮,它也会自动帮你完成前面的综合实现。觉得电脑烂的,现在可以看点别的,因为比较久。

8,file下拉菜单导出硬件配置export hardware,和bitstream。然后launch SDK,到软件开发环境(sdk)。打开这个sdk,编写软件。

9、打开SDK,新建应用程序

10、输入应用程序名,选择以后的例程HelloWorld(C语言下)

11,等待它自动编译完,

12,先将bitstream下载到FPGA,

13、再Run As configuration 配置运行参数

14、新建一个run ,在右边,search选择文件。点击apply,点击run。就可以在板上运行。

15、要使helloworld显示,可以使用串口助手,或者vivado自带功能:如图勾选,选择串口。再次run。

16、cool! It works!

遇到问题:1,run as 时出现连接不上JTAG:  重新拔插电源线,也不行。结果重启vivado,sdk就可以run了

2,第一次run as 没有出错,但串口没有输出helloworld。结果是:没有选择应用程序下载进去,下图,工程名和应用程序名那时是空的,忘了选。点击右边按钮就能解决。

还有一个helloworld教程我也成功了:http://www.fpgadeveloper.com/2014/07/creating-a-base-system-for-the-zynq-in-vivado.html

zynq学习01 新建一个Helloworld工程的更多相关文章

  1. Java Learning 001 新建一个Java工程 HelloWorld程序

    Java Learning 001 新建一个Java工程 HelloWorld程序 Step 1 . 在Eclipse 软件里,点击: File -> New -> Java Projec ...

  2. Intellij IDEA新建一个EJB工程(二)

    从博文:http://www.cnblogs.com/yangyquin/p/5328344.html 中可以知道如何利用Intellij IDEA建立一个EJB Module,还有新建一个测试Mod ...

  3. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

  4. 新建一个express工程,node app无反应

    1.问题描述 新建一个express工程,node app以后无反应,浏览器输入localhost:3000,显示如下 2.解决方法 在app.js文件中加入如下代码 app.listen(3000, ...

  5. Proteus 8使用 1新建一个Proteus工程

    新建一个Proteus工程 下一步 创建部分结束,可以看到两部分-->原理图与源代码. 首先按下F7或从“构建”菜单中选择“构建工程” 之后切换到原理图窗口 按下F12或点击窗口最左下角的“运行 ...

  6. 【Struts2】新建一个Struts2工程,初步体验MVC

    实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...

  7. Android中使用自身携带的Junit新建一个测试工程

    1.新建立一个Android工程 package com.shellway.junit; public class Service { public int divide(int a,int b){ ...

  8. Django官方文档学习1——第一个helloworld页面

    Django 1.10官方文档:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 1.查看django版本 python -m djan ...

  9. Android问题-打开DelphiXE8与DelphiXE10新建一个空工程提示"out of memory"

    错误信息: [DCC Error] E2597 d:\XE8\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-l ...

随机推荐

  1. 【iOS实现一个颜色渐变的弧形进度条】

    在Github上看到一些进度条的功能,都是通过Core Graph来实现.无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的.其实使用苹果提供的Core Animation能够非常 ...

  2. java.lang.ExceptionInInitializerError /NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;

    java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Nati ...

  3. 【转载】推荐5款超实用的.NET性能分析工具

    来源:http://www.csdn.net/article/2012-11-23/2812174-5-Good-and-useful-.NET-Profilers 虽然.NET框架号称永远不会发生内 ...

  4. 把 Mac 上的 bash 换成 zsh

      本人补充:mac版git下载地址:http://code.google.com/p/git-osx-installer/downloads/list?can=3&q=&sort=- ...

  5. LTE 测试文档(翻译)

    Testing Documentation 翻译 (如有不当的地方,欢迎指正!)     1 概述   为了测试和验证 ns-3 LTE 模块,文档提供了几个 test suites (集成在 ns- ...

  6. spring 注解重复(防重复请求)

    1.配置拦截器 spring-mvc.xml <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/ ...

  7. ROS学习笔记(七)——节点

    NEW 1 #打开新的终端,以后不再注释$ sudo apt-get install ros-<distro>-ros-tutorials #下载一个教学用的仿真器$ roscore #运 ...

  8. native vlan(本征VLAN)

    其实就是不打tag的VLAN,因为你想,一个VLAN在经过交换设备老是打tag,然后再脱掉tag...这个很浪费计算资源,尤其是在转发的报文量相当大的时候. 如何解决:     可以定义一种vlan, ...

  9. text/plain && text/html

    text/plain和text/html都是Content-Type; text/plain : 页面以文本形式输出 text/html:  页面以html格式输出

  10. 解决:Redis:java.util.NoSuchElementException: Unable to validate object at

    在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a re ...