MPSoc之Hello World学习笔记
XILINX 新一代 SOC,Zynq UltraScale+ MPSOC 系列性能强悍无比,号称相比ZYNQ 7000系列每瓦性能提升5倍,一直想体验。近期因项目需要,入手了一套米尔的MPSoc开发板,才终于开启了MPSoc学习之路。废话不说,hello world先。
开发环境:vivado 2017.4,开发板型号:米尔MYD-CZU3EG, 主芯片XCZU3EG-1SFVC784。这个系列板子还有4EV,5EV等版本,手里的3EG版本不支持SFP,因此板上相应接口(白色部分)是空贴的。
先来一张图,目睹米尔MPSoc开发板真容:

下面MPSoc之Hello World过程笔记
Step1 新建vivado工程
打开vivado 2017.4,选择File-->New Project

点击Next,填写工程名hello_world、勾选工程保存路径

Next,直到如下图对话框,按照截图的配置选择开发板型号为 xczu3eg-sfvc784-1-e ,点击Next,

点击Finish,新建的vivado工程完成。
Step2 新建Block Design
点击导航栏的Create Block Design

这里可以自己填写名称,我这里直接用默认的名称,点击OK,完成新建的Block设计区

Step3 调用ZYNQ IP核并配置
点击Add IP,在导航栏输入ZYNQ,然后双击ZYNQ UltraScale+MPSoC

添加的ZYNQ核,如下图所示

双击ZYNQ IP核导入配置文件
点击Presets-->Apply Configuration 添加配置文件

导入 hello_world.tcl配置文件,选择OK,配置完成ZYNQ 核。
Step4 综合
右击design_1 --> Generate Output Products,点击Generate

Step 5 生成顶层文件
右击design_1-->Create HDL Wrapper,点击OK

生成的顶层文件,如下图所示

Step6 生成bit文件
点击快捷工具栏上的Generate Bitstream
bit生成成功,点击Cancel关闭对话框
Step7 导出硬件配置文件
点击File-->Export-->Export Hardware

勾选Include bitstream,点击OK
Step8 打开SDK
点击File-->Launch SDK

点击OK
Step9 新建fsbl
点击File-->Application Project
添加工程名fsbl,点击Next
选择Zynq MP FSBL,点击Finis
Step10 新建hello_world工程
点击File-->Application Project,填写工程名 hello_world, 点击Next

选择Hello_World模板,点击Finish
Step11 生成BOOT.bin文件
右击hello_world-->Create Boot Image,点击Create Image

生成的BOOT.bin文件,如下图所示,然后将这个生成的BOOT.bin文件拷贝到SD卡上

MPSoc开发板模式设置,这里我们设置为SD卡启动模式



MPSoc开发板连接12V电源、连接uart串口、插入SD卡,上电运行

串口打印输出 Hello World

总结,米尔的MPSoc开发板资料说明配套齐全, 不懂的可以找技术支持,做起来也比较方便。
MPSoc之Hello World学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- Java里方法的参数传递方式
Java里方法的参数传递方式只有一种:值传递. Java中参数传递的都是参数值 下面从两个维度来看 1.传递的参数是8种基本数据类型 这个比较好理解,8种基本数据类型,作为参数时,可以理解为原来的一个 ...
- Ubuntu16.04.1上搭建分布式的Redis集群,并使用C#操作
为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...
- Spring注解驱动第三讲--@Filter介绍
上一讲主要针对@ComponentScan注解做了一些说明,本文主要对@Filter的扫描条件,再做一些详细的介绍 1,FilterType.ANNOTATION 按照注解的方式进行扫描.后面clas ...
- IM (二):数据通信协议的选择
https://www.jianshu.com/p/e9c2b7c48c34 http://www.52im.net/thread-283-1-1.html https://github.com/Ja ...
- <c:forEach>, <c:forTokens> 标签
这些标签封装了Java中的for,while,do-while循环. 相比而言,<c:forEach>标签是更加通用的标签,因为它迭代一个集合中的对象. <c:forTokens&g ...
- 嵌入式开发之内核内存异常排查---关闭oom killer
通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解.uptimedmesg | tailvmstat 1mpstat -P ALL 1pidstat 1iostat -xz 1free ...
- 第一节:Python+Selenium环境搭建
一.selenium工作原理 二.安装python Window系统下,python的安装很简单.访问python.org/download,下载最新版本,安装过程与其他windows软件类似.记得下 ...
- git解决error: The following untracked working tree files would be overwritten by checkout
在IDEA中进行分支切换时,出现如此错误,导致无法正常切换:error: The following untracked working tree files would be overwritten ...
- xpath和contains模糊匹配
xpath可以以标签定位,也可以@任意属性: 如:以input标签定位:driver.find_element_by_xpath("//input[@id='kw']") 如:@t ...
- c++内存管理5-虚拟内存4区结构图
我们常说的32位系统为每个进程分配4G虚拟内存空间(而MMU负责把这些个4G虚拟内存映射到实际内存条的物理内存),其实只有0~3G才是真正完全属于进程本身,是我们所说的用户区:3~4G这1G是所有进程 ...