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学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. Java里方法的参数传递方式

    Java里方法的参数传递方式只有一种:值传递. Java中参数传递的都是参数值 下面从两个维度来看 1.传递的参数是8种基本数据类型 这个比较好理解,8种基本数据类型,作为参数时,可以理解为原来的一个 ...

  2. Ubuntu16.04.1上搭建分布式的Redis集群,并使用C#操作

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  3. Spring注解驱动第三讲--@Filter介绍

    上一讲主要针对@ComponentScan注解做了一些说明,本文主要对@Filter的扫描条件,再做一些详细的介绍 1,FilterType.ANNOTATION 按照注解的方式进行扫描.后面clas ...

  4. IM (二):数据通信协议的选择

    https://www.jianshu.com/p/e9c2b7c48c34 http://www.52im.net/thread-283-1-1.html https://github.com/Ja ...

  5. <c:forEach>, <c:forTokens> 标签

    这些标签封装了Java中的for,while,do-while循环. 相比而言,<c:forEach>标签是更加通用的标签,因为它迭代一个集合中的对象. <c:forTokens&g ...

  6. 嵌入式开发之内核内存异常排查---关闭oom killer

    通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解.uptimedmesg | tailvmstat 1mpstat -P ALL 1pidstat 1iostat -xz 1free ...

  7. 第一节:Python+Selenium环境搭建

    一.selenium工作原理 二.安装python Window系统下,python的安装很简单.访问python.org/download,下载最新版本,安装过程与其他windows软件类似.记得下 ...

  8. git解决error: The following untracked working tree files would be overwritten by checkout

    在IDEA中进行分支切换时,出现如此错误,导致无法正常切换:error: The following untracked working tree files would be overwritten ...

  9. xpath和contains模糊匹配

    xpath可以以标签定位,也可以@任意属性: 如:以input标签定位:driver.find_element_by_xpath("//input[@id='kw']") 如:@t ...

  10. c++内存管理5-虚拟内存4区结构图

    我们常说的32位系统为每个进程分配4G虚拟内存空间(而MMU负责把这些个4G虚拟内存映射到实际内存条的物理内存),其实只有0~3G才是真正完全属于进程本身,是我们所说的用户区:3~4G这1G是所有进程 ...