zynq学习01 新建一个Helloworld工程
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工程的更多相关文章
- Java Learning 001 新建一个Java工程 HelloWorld程序
Java Learning 001 新建一个Java工程 HelloWorld程序 Step 1 . 在Eclipse 软件里,点击: File -> New -> Java Projec ...
- Intellij IDEA新建一个EJB工程(二)
从博文:http://www.cnblogs.com/yangyquin/p/5328344.html 中可以知道如何利用Intellij IDEA建立一个EJB Module,还有新建一个测试Mod ...
- Android Studio新建一个HelloWorld 程序(App)
Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...
- 新建一个express工程,node app无反应
1.问题描述 新建一个express工程,node app以后无反应,浏览器输入localhost:3000,显示如下 2.解决方法 在app.js文件中加入如下代码 app.listen(3000, ...
- Proteus 8使用 1新建一个Proteus工程
新建一个Proteus工程 下一步 创建部分结束,可以看到两部分-->原理图与源代码. 首先按下F7或从“构建”菜单中选择“构建工程” 之后切换到原理图窗口 按下F12或点击窗口最左下角的“运行 ...
- 【Struts2】新建一个Struts2工程,初步体验MVC
实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...
- Android中使用自身携带的Junit新建一个测试工程
1.新建立一个Android工程 package com.shellway.junit; public class Service { public int divide(int a,int b){ ...
- Django官方文档学习1——第一个helloworld页面
Django 1.10官方文档:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 1.查看django版本 python -m djan ...
- Android问题-打开DelphiXE8与DelphiXE10新建一个空工程提示"out of memory"
错误信息: [DCC Error] E2597 d:\XE8\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-l ...
随机推荐
- OpenCV从入门到放弃系列之——core模块.核心功能(一)
Mat - 基本图像容器 世间的图像是各种各样的,但是到了计算机的世界里所有的图像都简化为了数值矩以及矩阵信息.作为一个计算视觉库,OpenCV的主要目的就是处理和操作这些信息,来获取更高级的信息,也 ...
- json日期转换
//调用 ChangeDateFormat(CreatTime) //json日期转换 function ChangeDateFormat(jsondate) { jsondate = jsondat ...
- img和css背景的选择
在什么情况下更适合使用HTML IMG标签来显示一个图像,而不是一个CSS有背景图像,反之亦然? 如下场景使用img标签比较合适: 1.如果图像是等内容的一部分或图表或人(真正的人,而不是股票图人), ...
- 简单的canvas时钟
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java网络编程初探
IP地址案例 package ch17; import javax.swing.text.Style; import java.net.InetAddress; /** * Created by Ji ...
- OAM
OAM -- Operation Administration and Maintenance[ˈmentənəns]. 根据运营商网络运营的实际需要,通常将网络的管理工作划分为3大类:操作(Oper ...
- js做计算器
js文档: function count(){ var a var txt1=document.getElementById("txt1").value;//获取第一个输入框的值 ...
- ROS学习笔记(八)——ROSTOPIC
NEW 1 $ roscore NEW 2 $ rosrun turtlesim turtlesim_node NEW 3 $ rosrun turtlesim turtle_teleop_key N ...
- hive修改 表/分区语句
参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable% ...
- (转)Sqoop中文手册
Sqoop中文手册 1. 概述 本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档.为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数 ...