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 ...
随机推荐
- 集群节点间网络通信TIPC
1. TIPC背景介绍 TIPC主要是用于集群网络环境之中,它这个协议有一些前提假设包括: 协议发送的大部分message都是直接到达目的地(无路由): message的传输时间都很短; messag ...
- 24.Redis2.8主从集群sentinel
0.集群架构(此处只说两种;本文2种,避免sentinel成为单节点) 第一种: 第二种: 1.下载redis2.8.x版本,2.8.x都是稳定版 redis-2.8.24.tar.gz 2.解压,安 ...
- bate阶段项目总结
Beta里程碑总结 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题是如何实现消息的发布与查看以及个人主页的实现:定义的基本清楚,团队 ...
- 汇编语言写出的helloworld运行过程
一:首先说一点,这篇文章建立在懂一点汇编的基础上,有几个简单的命令,说以下: 1:-r命令 -r 查看寄存器 -r 寄存器 (如 -r AX) 修改寄存器的值: 2:-d命令 -d 地址:xxxx:x ...
- iOS - Localizable 国际化
1.国际化 开发的移动应用更希望获取更多用户,走向世界,这就需要应用国际化,国际化其实就是多语言,系统会根据当前设备的语言环境来识别 App 中使用中文还是英文. 2.应用内容国际化 1.新建一个名为 ...
- PHP 知识结构
- debug 断点无效
如果出现这样的情况 需要在debug下配置 配置好之后,断点测试即可,亲测有效.
- Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
android线程池的理解,晚上在家无事 预习了一下android异步加载的例子,也学习到了一个很重要的东东 那就是线程池+缓存 下面看他们的理解.[size=1.8em]Handler+Runna ...
- pm2.5检测统计
SELECT AVG(pm25_h),AVG(pm10_h),AVG(temp_h),AVG(humi_h),AVG(co2_h),AVG(tvoc_h),perf_time FROM( SELECT ...
- cocos2d-x 图片性能测试
本文是原创文章,如需转载,请注明文章出处 本次测试使用的cocos2d-x版本是3.9,测试环境是XCode7自带的iphone5 一.JPG格式与PVR.CCZ格式对比 1.占用空间对比 a)不透明 ...