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. JAVA 冒泡算法

    每种语言都有冒泡JAVA实现如下: public static void main(String args[]){ System.out.println("Start"); int ...

  2. jieba分词

    一.安装 pip 安装 或者 先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py install 二.功能 1.分词 2.添加自定义 ...

  3. java中String对象的split方法

    在java.lang包中有String.split()方法,返回是一个String[]数组,今天碰到一个自己没注意的问题: 1.特殊分隔符 String str1 = "123|456|78 ...

  4. 本机不能访问虚拟机中flask的web服务器的解决办法

    在虚拟机的linux里写flask程序,在本机中用"ip:端口号"的方法不能访问,查资料试了各种方法都不行.最后发现问题出在flask程序本身: flask的app.run()方法 ...

  5. RedHat下安装Telnet服务端及客户端远程连接配置

    Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力. 配置之前请确保网络连通,如防火墙影响连接,请先关 ...

  6. 收集C#常用类:产生一个验证码,改了下

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...

  7. JavaScript高阶函数 map reduce filter sort

    本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 高阶函数            一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数          1.高阶函数之map:   ...

  8. iPhone5停留在语音的界面,提示按三次home键,无法继续下去

    不知道之前用户是怎么操作的,可能是刷机或恢复出厂设置.穷人,没用玩过iPhone. 根据提示关键词,网上搜索,发现只需要按三次home,三次锁屏,三次锁屏,最后再三次home就可以了. 试了两次,还真 ...

  9. 【Javascript】重新绑定默认事件

    更多内容,请移步 JSCON-简时空 在有一种场景下,你想先屏蔽掉默认的系统事件,而在特定条件下又重新绑定回去. [场景]H5页面,动画欢迎界面,共6帧:想在前5帧中屏蔽掉默认的touchmove事件 ...

  10. IdentityServer4 简单使用,包括api访问控制,openid的授权登录,js访问

    写在前面 先分享一首数摇:http://music.163.com/m/song?id=36089751&userid=52749763 其次是:对于identityServer理解并不是特别 ...