利用Zynq Soc创建一个嵌入式工程
英文题目:Using the Zynq SoC Processing System,参考自ADI的ug1165文档。
利用Zynq Soc创建一个嵌入式工程,该工程总体上包括五个步骤:
步骤一、新建空白工程
步骤二、创建一个Embedded Processor工程
步骤三、Zynq7 Processing System的管理
步骤四、综合仿真、编译运行、生成二进制文件
步骤五、Exporting Hardware to SDK
步骤一、新建工程
1. 点击Vivado图标启动软件,Create New Project 新工程。假定创建工程名为my_test,选择打勾方框[checked]
2. 选中RTL Project,注意下面方框不选中[Unchecked]。其它不选择。
3. 接下来Add Sources、Add Existing IP、Add Constraints三个界面不做任何改变,一路next。
4. 选择 Board选项,搜索ZYNQ-7 ZC702 Evaluation Board作为开发板。
5. 点击Finish,至此一个空工程建立完毕。
步骤二、创建一个Embedded Processor工程。
1. 在IP Integrator下,点击 Create Block Design.创建块的设计名为tutorial_bd,其它不变,点击OK.
2. 初始化后,在右侧Diagram下选择 Add IP图标按钮,在弹出框中输入zynq搜索IP核ZYNQ7,按Enter键确认。
3. 双击ZYNQ Processing System该IP核,进入Block Design界面如下所示。
步骤三、Zynq7 Processing System的管理
1. 点击Presets按钮,选择ZC702。此时左侧选择各个外设均有变化。
I/O Peripherals 部分引脚被选中。
MIO Configuration 中MIO设备部分被选中。
2. 点击OK关闭自定义IP核界面,此时IP核按照预先ZC702开发板来配置。
3. 点击Run Block Automation运行,没有报错。
4. 右键点击Diagram中空白处,选择Validate Design
此时,弹出错误框
5. 将鼠标放在M_AXI_GP0_ACLK 端口,产生画笔性质后连线至 FCLK_CLK0,重新选择Validate Design,显示成功并点击OK。
6. 在Block Design视窗, 选择Sources项。在 Design Sources下, 右键单击 tutorial_bd并选择Create HDL Wrapper.
7. 在弹出框选择Let Vivado manage wrapper and auto-update并点击OK
8. 在Design Sources视窗下,右键tutorial_bd_i - tutorial_bd(tutorial_bd.bd) 并选择Generate Output Products.
9. 生成成功后,点击OK确认。在IP Sources tab选项卡下面,可以看到所生成文件
步骤四、综合仿真、编译运行、生成二进制文件
1. 在左侧Synthesis,下,点击Run Synthesis.
此时,右上角会一直有进度条运行,直至运行结束。
2. 在弹出框选择Run Implementation,注意进度条运行结束,点击OK。
3. 点击Generate Bitstream,注意进度条运行结束,点击OK.
至此,二进制文件生成。下一步将输出到hardware并运行软件Software Development Kit (SDK)。
步骤五、Exporting Hardware to SDK
1. 在vivado工具栏上,点击File > Export > Export Hardware,弹出如下界面,点击OK。
注意,仅当工程中有PL设计和二进制文件生成是,选项卡Include bitstream才被选中。
2. 选择File > Launch SDK.在弹出界面中选择默认,点击OK。
SDK软件打开,显示system.hdf文件,描述了处理器地址的映射。
3. 关闭SDK。
注:在Vivado中使用“Export Hardware”输出的硬件描述文件。都在工程目录下 “/<vivado project>/<project name>.sdk/<top module name>_hw_platform_0”文件夹下,可供petalinux使用。
利用Zynq Soc创建一个嵌入式工程的更多相关文章
- 创建一个Android工程
Creating an Android Project 原文演示了怎么通过Android Studio和命令行两种方式来创建一个Android工程. 原文链接:http://developer.and ...
- 利用ZYNQ SOC快速打开算法验证通路(1)——MATLAB浮点数与定点二进制补码互转
最近本人一直在学习ZYNQ SOC的使用,目的是应对科研需要,做出通用的算法验证平台.大概思想是:ZYNQ PS端负责与MATLAB等上位机数据分析与可视化软件交互:既可传输数据,也能通过上位机配置更 ...
- 使用idea创建一个maven工程
使用idea创建一个maven工程 一.创建maven工程 二.输入工程名 三.指定maven仓库 四.点击finish 五.修改工程结构(file->project structure) 六. ...
- Eclipse创建一个mybatis工程实现连接数据库查询
Eclipse上创建第一mybatis工程实现数据库查询 步骤: 1.创建一个java工程 2.创建lib文件夹,加入mybatis核心包.依赖包.数据驱动包.并为jar包添加路径 3.创建resou ...
- django学习笔记【001】django版本的确定&创建一个django工程
2.3 查看当前的django版本 python3. -m django --version 2.3.1 创建一个django工程 django-admin startproject mysite 在 ...
- 使用Idea第一次创建一个Mavne工程时没有src目录
在使用idea创建一个maven工程时没有src目录,可能出现的问题很多,我先把我自己的问题分享上来 因为没有src,可能是因为maven插件还没下载到本地仓库.maven插件的版本和jdk版本冲突或 ...
- 利用ZYNQ SOC快速打开算法验证通路(6)——LWIP实现千兆TCP/IP网络传输
一.前言 之前ZYNQ与PC之间的网络连接依赖于外接硬件协议栈芯片,虽然C驱动非常简单,但网络带宽受限.现采用LWIP+PS端MAC控制器+PHY芯片的通用架构.关于LWIP库,已经有很多现成的资料和 ...
- 创建一个Portlet工程
使用Liferay的SDK创建一个简单的Portlet,此Portlet不包括业务逻辑.不包括数据库,只有简单的页面展现,用以说明Portlet的开发过程. 一.创建Portlet工程 1.打开Lif ...
- UE4编程之C++创建一个FPS工程(二)角色网格、动画、HUD、子弹类
转自:http://blog.csdn.net/u011707076/article/details/44243103 紧接上回,本篇文章将和大家一同整理总结UE4关于角色网格.动画.子弹类和HUD的 ...
随机推荐
- Wacom将在CES 2015上发布全新旗舰版Cintiq
Cintiq 27QHD和Cintiq 27QHD touch拥有宽大的工作表面,以及令人惊喜的屏幕笔触和颜色性能. 2015年1月6日,Wacom发布了Cintiq 27QHD和Cintiq 27Q ...
- 如何更改Arcmap里经纬度小数点后面的位数?
customize>arcmap option>data view >round coordinate to 改成想要显示的小数位数
- BFC的表象认识
首先字面翻译,这三个字母分别代表什么,box,formatting, context,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. 形象点就是说一种规范,规范什么呢?规范盒子内部 ...
- C/C++学习计划
学习内容:C语言程序设计精髓/计算机程序设计(C++) 学习理由:基础比较薄弱,想先打好基础. 时间安排:每天学习两课时. mooc地址:http://www.icourse163.org/home. ...
- springboot+vue+element:echarts开发遇见问题---后端sql(三)
<select id="getSumRequestRankingCount" parameterType="java.lang.String" resul ...
- 跨域写cookie
假设a站想往b站写cookie,那么目前有两种方案,参考如下: 第一种(使用jsonp): a站js代码如下: $.ajax({ url: 'http://www.b.com/jsonp.jsp?do ...
- lintcode-203-线段树的修改
203-线段树的修改 对于一棵 最大线段树, 每个节点包含一个额外的 max 属性,用于存储该节点所代表区间的最大值. 设计一个 modify 的方法,接受三个参数 root. index 和 val ...
- PAT 甲级 1041 Be Unique
https://pintia.cn/problem-sets/994805342720868352/problems/994805444361437184 Being unique is so imp ...
- php自带的filter过滤函数
PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤. filter_has_var()检查是否存在指定输入类型的变量. filter_id()返回指定过滤器的 ID 号. filt ...
- egret 开发总结
用egret快两年了,开发过两款成功的游戏.<<妖怪修走 |诸神的黄昏>><<损友圈|我的地盘>> 妖怪修走是个重度游戏,付费率超高.也比较成功. 损友 ...