Zynq是一款SOC芯片,之前只是用了PL(Programmable Logic)部分,而Zynq最突出的功能,就是内部的双核Cortex-A9,所以从现在开始我将学习ZYNQ的SOC学习(PS部分)。

  本文记录的是熟悉Zynq的PS(Processor Subsystem)部分使用方法,了解开发板资源,做一个最小系统Hellow world,使用资源有ARM Cortex-A9、DDR3内存、一个UART串口。具体流程是将写好的程序加载到DDR内存中,然后CPU一条一条执行,那么执行的情况可以通过串口打印观察。

我使用的是迪芝伦官方出品的ZYBO开发板,首先在开发板上选择QSPI Flash跳线帽

供电方式不用改,选择USB供电

打开Vivado软件,选择Create Project

Next~

添加工程名,next~

选择开发板型号,我手上的开发板型号如图所示。

finish~

点击create block design,块的名称为system,

点击图上的加号,查找zynq IP,选择zynq7 processing system。

点击run block automation

这个界面什么也不做,点击OK。

然后就会生成如图所示引脚。

双击进入system,点击clock configuration,ZYBO提供了50Mhz的时钟给PS部分,所以input frequency添加50Mhz,FCLK就是产生的时钟,这里设置为100或者ZYBO PL部分的时钟125Mhz都可以。

点击MIO configuration——I/O peripheral勾选,如图所示。

这个需要注意的是。右上脚的Bank1 I/O voltage设置为lvcmos 1.8v,因为zynq的bank1的电压是1.8v,其余都是3.3v,这个我们从原理图上可以看到。

这里选择DDR型号,从官方手册上得到zybo包含了两片MT41J128M16JT-125或者,MT41K128M16JT-125  DDR3存储器。原理图上是前者,但经博主实际测试是后者。选择完成后点击OK。

右键点击system.bd,点击generate output products。

同样右键system.bd,点击create HDL wrapper。

选择如图所示选项,点击OK。这里实际上是生成顶层源码,其中调用了zynq ARM内核IP。

然后点击generate bitstream

点击file——export——export hardware。将SOC硬件导入到SDK。

点击file——launch SDK。接下来就到了软件开发上了。

左边这部分是Vivado定制好的soc硬件,中间这是硬件地址分配空间。

点击file——new——application location,将工程名设置为Hellow World,next。

SDK自带了一些测试程序,我们选择Hellow World

右键Hellow World——Debug AS——Debug Configuration

双击如图所示

注意这里,要run的system debugger要和所创建的工程一直,如图都是Hellow World,然后点击run。这个时候开发板就要连接了。

在这一步,用SDK自带的串口调试,SDK Terminal,点击加号添加串口,设置COM口,选择OK。

点击Resume,在SDK Terminal窗口显示Hellow World,测试成功。

转载请注明出处:NingHeChuan(宁河川)

个人微信订阅号:开源FPGA

如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/8587904.html

Zynq学习笔记(1)——Hellow World的更多相关文章

  1. 【原创】ZYNQ学习笔记(一) HelloWorld实现

    拿过ZYNQ开发板,里面给了很多部件,果断从网上下载了手册,N多手册和原理图. 要比Spartan-6复杂多了,耐心地看了看,知道ZYNQ系列分为PS(系统)以及PL(逻辑)部分. 之前,自己一直在做 ...

  2. 批处理学习笔记1 - Hellow World

    记录自己学习批处理的一点总结吧. 批处理的好处: 可以配合vs,在build完文件之后执行自己的批处理命令. 可以批量修改文件名,或者进行复杂的查询等,对文件可编程操作. 从Hellow world开 ...

  3. Zynq学习笔记(1)

    做硬件的第一个实例,一般当然是LED点灯啦~ 硬件:ZedBoard 软件:ISE 14.7 1.新建工程 2.选择平台 3.新建完成后,输入如下代码: `timescale 1ns / 1ps // ...

  4. MiZ702学习笔记13——ZYNQ通过AXI-Lite与PL交互

    在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应 ...

  5. Redis学习笔记一:数据结构与对象

    1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...

  6. MiZ702学习笔记12——封装一个普通的VGA IP

    还记得<MiZ702学习笔记(番外篇)--纯PL VGA驱动>这篇文章中,用verilog写了一个VGA驱动.我们今天要介绍的就是将这个工程打包成一个普通的IP,目的是为后面的一篇文章做个 ...

  7. 批处理学习笔记2 - 编写批处理的for循环

    批处理中的for循环集成的功能比较多,可以直接对文件操作. ====================================================================== ...

  8. canvas学习笔记(中篇) -- canvas入门教程-- 颜色/透明度/渐变色/线宽/线条样式/虚线/文本/阴影/图片/像素处理

    [中篇] -- 建议学习时间4小时  课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...

  9. FPFA学习笔记的系列

    1.Zynq 学习裸跑系列 学会Zynq(1)搭建Zynq-7000 AP SoC处理器 作者:FPGADesigner 学会Zynq(2)Zynq-7000处理器的配置详解 作者:FPGADesig ...

随机推荐

  1. 建立SSH隧道从外网访问内网服务器

    http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examp ...

  2. 黄聪:win7 64位系统PS、AI、PSD缩略图预览补丁

    MysticThumbs支持Windows 7 / Vista / XP,32位和64位.除了预览PSD以外,还支持DDS.SGI缩略图显示. Mystic Thumbs是一款用来支持win7 64位 ...

  3. CodeForces - 983B XOR-pyramid(区间dp,异或)

    XOR-pyramid time limit per test 2 seconds memory limit per test 512 megabytes input standard input o ...

  4. [转]Web 调试工具之 Advanced REST client

    原文:http://bbs.itcast.cn/forum.php?mod=viewthread&tid=85654 安装方式: 3.1. 如果你能FQ访问谷歌商店,那么就简单了 在这里直接安 ...

  5. istio 配置https gateway

    沒有親手實驗,参考官方文档:  https://istio.io/docs/tasks/traffic-management/secure-ingress/

  6. delete删除属性

    /* 删除实例属性 */ function MyObject() { this.name = "我是实例的name"; } var obj = new MyObject(); al ...

  7. 九jQuery源码解析之.each()

    jQuery中存在两个each方法都是用于遍历的, 一个是对jQuery对象集合使用.each(),用于遍历这个集合; .each(function(index,element)) 还有一个是扩展jQ ...

  8. 2_bootstrap的环境搭建

    2.bootstrap环境搭建 2.1.下载资源 中文官网地址:http://d.bootcss.com/bootstrap-3.3.5.zip http://www.bootcss.com 2.2. ...

  9. springmvc怎么在启动时自己执行一个线程

    之前使用springmvc的时候,都是写好controller和对应的数据库操作. 外界发请求的时候,controller进行一堆操作后返回相应的json数据. 似乎springmvc就是外界驱动的一 ...

  10. c# 二维码支持中文

    /// <summary> /// 生成二维码,保存成图片 /// </summary> static void Generate1(string text) { Barcod ...