Zynq学习笔记(1)——Hellow World
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的更多相关文章
- 【原创】ZYNQ学习笔记(一) HelloWorld实现
拿过ZYNQ开发板,里面给了很多部件,果断从网上下载了手册,N多手册和原理图. 要比Spartan-6复杂多了,耐心地看了看,知道ZYNQ系列分为PS(系统)以及PL(逻辑)部分. 之前,自己一直在做 ...
- 批处理学习笔记1 - Hellow World
记录自己学习批处理的一点总结吧. 批处理的好处: 可以配合vs,在build完文件之后执行自己的批处理命令. 可以批量修改文件名,或者进行复杂的查询等,对文件可编程操作. 从Hellow world开 ...
- Zynq学习笔记(1)
做硬件的第一个实例,一般当然是LED点灯啦~ 硬件:ZedBoard 软件:ISE 14.7 1.新建工程 2.选择平台 3.新建完成后,输入如下代码: `timescale 1ns / 1ps // ...
- MiZ702学习笔记13——ZYNQ通过AXI-Lite与PL交互
在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应 ...
- Redis学习笔记一:数据结构与对象
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...
- MiZ702学习笔记12——封装一个普通的VGA IP
还记得<MiZ702学习笔记(番外篇)--纯PL VGA驱动>这篇文章中,用verilog写了一个VGA驱动.我们今天要介绍的就是将这个工程打包成一个普通的IP,目的是为后面的一篇文章做个 ...
- 批处理学习笔记2 - 编写批处理的for循环
批处理中的for循环集成的功能比较多,可以直接对文件操作. ====================================================================== ...
- canvas学习笔记(中篇) -- canvas入门教程-- 颜色/透明度/渐变色/线宽/线条样式/虚线/文本/阴影/图片/像素处理
[中篇] -- 建议学习时间4小时 课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...
- FPFA学习笔记的系列
1.Zynq 学习裸跑系列 学会Zynq(1)搭建Zynq-7000 AP SoC处理器 作者:FPGADesigner 学会Zynq(2)Zynq-7000处理器的配置详解 作者:FPGADesig ...
随机推荐
- 建立SSH隧道从外网访问内网服务器
http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examp ...
- PYTHON 常用API ***
1.类型判断 data = b'' data = bytes() print (type(data)) #<class 'bytes'> isinstance(123,int) if ty ...
- 调用WebAPI接口地址返回序列化的JSON对象中的属性都加了个k__BackingField关键字的解决办法
1.问题现象: 2.造成此问题的原因是返回的结果对象实体上面加了个可序列号特效 [Serializable].去掉就可以了. 3.解决后的效果:
- 利用U盘安装Redhat-server-Linux-7.1
利用U盘安装Redhat-server-Linux-7.1 [原]红帽 Red Hat Linux相关产品iso镜像下载[百度云]
- docker-ubuntu镜像,nginx镜像
docker 是将程序与机器隔开,使程序不受环境影响. 安装 sudo apt-get install docker.io ## 好用的一些命令 1.停用全部运行中的容器: docker stop $ ...
- django内置html模板的extends和include,模板标签{{ ex }}
base.html内容 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 阻止后续事件的发生 onclick 双return 事件绑定(..$).click一个return
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【330】word - VBA 相关实现
参考:Object model (Word VBA reference) 序号 类名称 功能说明 语法 & 举例 01 Selection ====<<<< ...
- 迷你MVVM框架 avalonjs 1.3发布
性能得到大幅改良的avalon1.3发布了. 修复$outer BUG 修复IE6-8下扫描加载Flash资源的OBJECT标签时,遇到它既没有innerHTML也没有getAttributeNode ...
- docker1.9 network跨主机安装
背景:在跨host中,如果docker任何一个重启或者销毁,docker暴露的端口以及ip将可能重新配置,这个时候需要重新记录ip跟端口.在生产环境中往往需要一个固定的ip以及端口去跟容器通信.例如m ...