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

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

本次实验需要用到的资源,CPU XC7Z010(XC7Z010-1CLG400C)、两片 MT41J128M16JT-125 or MT41K128M16JT-125 512MB DDR3、经过实验确定我这块板子上是两片MT41K128M16JT-125 512MB DDR3。

一、硬件部分

在开发板上选择QSPI Flash跳线帽

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

首先是使用Vivado新建一个工程,工程名为Hellow_world,这里省略掉新建工程部分。新建工程部分和之前使用Vivado的流程类似。

点击create block design,将名字设置为system

点击如图所示图标,添加IP,选择ZYNQ7 Processing System

然后点击Run Block Automation

什么也不做直接点击OK。

然后会看到图上会生成两个输出

按如图所示连接。

双击IP核进入设置界面,点击clock configuration 设置输入时钟,按如图所示。

点击设置MIO configuration设置如图所示。

设置DDR 我这里使用的官方的ZYNQ,查手册的DDR配置如图所示,设置完成点击OK。

然后到工程下,右键单击system,选择generate output products,

然后再右键system,选择Create HDL Wrapper,选择如图所示,选择OK。

然后点击如图所示图标,生成电路

可能会等几分钟,生成完成后点击File 选择Export,选择Export Hardware,勾选上include bitsteam,然后OK。

点击File,launch SDK,点击OK ,这样硬件平台就搭建完毕了。

二、软件部分

SDK开启了之后,点击File-New-application Porject,然后输入工程名Hellow_World。其他如图所示配置,点击Next。

这里我们直接选择官方的测试工程Hellow_World.

看到如图所示生成两个文件Hellow_World和Hellow_World_bsp,然后右键点击Hellow_World,选择Debug As-Debug configuration。按如上图所示配置,点击apply,然后点击debug。

然后会弹出如图所示界面,点击如图所示配置串口。

配置完成后,点击run运行,则串口那里会打印出来,Hellow_World。

测试正确。我们还可以看一下代码。

 #include <stdio.h>
#include "platform.h" void print(char *str); int main()
{
init_platform(); print("Hello World\n\r"); cleanup_platform();
return ;
}

  代码这部分也是十分简单的,两个头文件,一个显示输出函数,然后是主函数。主函数也是十分简单的,这样我们就完成了基于ZYNQ SOC的第一个程序Hellow_World,如果你没有像我这样串口打印出来Hellow World,那说明你有哪一个步骤错误了,请仔细查看,如果本文有错误,欢迎来联系博主,我们共同讨论学习!

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

个人微信订阅号:开源FPGANingHeChuan

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

知乎ID:NingHeChuan

微博ID:NingHeChuan

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

基于ZYNQ的SOC——Hellow_World实验的更多相关文章

  1. 基于ZYNQ 的UART中断实验之串口写数据到DDR3中

    1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...

  2. 基于ZYNQ的uart传输任意长度的数据

    1.参考 UG585 网络笔记 参考:ZYNQ进阶之路14–PS端uart串口接收不定长数据 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验之串口写数据到DDR3中 3.实验目的 基于 ...

  3. 基于Xilinx Zynq Z7045 SoC的CNN的视觉识别应用

    基于Xilinx Zynq Z7045 SoC的CNN的视觉识别应用 由 judyzhong 于 星期三, 08/16/2017 - 14:56 发表 作者:stark 近些年来随着科学技术的不断进步 ...

  4. 基于Zynq平台的EtherCAT主站方案实现

    作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...

  5. CH02基于ZYNQ的嵌入式LINUX移植

    CH02基于ZYNQ的嵌入式LINUX移植 1.1概述 实验环境: Windows 10 专业版 Vmware workstation 14.1.1 Ubuntu 16.04.3 Xilinx SDx ...

  6. 基于zynq XC7Z100 FMC接口通用计算平台 XC7Z100

      一.板卡概述 本板卡基于Xilinx公司的FPGA XC7Z100 FFG 9000 芯片, 该平台为设计和验证应用程序提供了一个完整的开发平台.该平台使设计师能够更加简单进行高性能的原型设计,并 ...

  7. [原创]基于Zynq PS与PL之间寄存器映射 Standalone & Linux 例程

    基于Zynq PS与PL之间寄存器映射 Standalone & Linux 例程 待添加完善中

  8. [原创]基于Zynq AXI-Bram Standalone & Linux 例程

    基于Zynq AXI-Bram Standalone & Linux 例程 待添加完善中

  9. [原创]基于Zynq AXI-GPIO Standalone & Linux 例程

    基于Zynq AXI-GPIO Standalone & Linux 例程 待添加完善中

随机推荐

  1. CSS(3)实现水平垂直居中效果

    CSS实现水平垂直居中对齐 在CSS中实现水平居中,会比较简单.常见的,如果想实现inline元素或者inline-block元素水平居中,可以在其父级块级元素上设置text-align: cente ...

  2. 把angular项目整合到.net mvc中

    之前的开发选择的是完全舍弃服务端,仅保留最简单web服务器提供angular经打包的静态资源,此外所有的业务与数据请求都访问一个分离的WebApi来实现.不过最近碰到一个需求,有必要使用多个客户端,而 ...

  3. 网站优化html关键词代码使用

    html的meta标签 .meta标签是内嵌在你网页中的特殊html标签,包含着你有关于你网页的一些隐藏信息.Meat标签的作用是向搜索引擎解释你的网页是有关哪方面信息的.对于高级的搜索引擎来说,ht ...

  4. yiic执行出现不是内部或外部命令的解决办法

    右击我的电脑-->属性-->高级系统设置-->高级-->环境变量-->系统变量 设置为"D:\Program Files (x86)\wamp\bin\php\ ...

  5. HTML5 Web SQL 数据库操作

    Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs. 以下是规范中定义的三个核心方法: openDataba ...

  6. Java多线程(一) —— 线程的状态详解

    一.多线程概述  1. 进程 是一个正在执行的程序.是程序在计算机上的一次运行活动. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 系统以进程为基本单位进行系统资源的调度 ...

  7. C++ 派生类到基类转换的可访问性

    今天看c++ primer关于派生类到基类转换的可访问性,看的很晕,看了下面的文章恍然大悟: http://www.2cto.com/kf/201403/283389.html C++ primer第 ...

  8. 一个Ruby静态代码分析器 rubocop

    A Ruby static code analyzer, based on the community Ruby style guide. http://rubocop.readthedocs.io ...

  9. 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】

    Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...

  10. 终于等到你!MobileTest免费公测,华为带你走出安卓适配大坑

    一.安卓适配之痛真的无解吗? Android平台的诞生对智能手机的普及功不可没,但设备繁多.品牌众多.版本各异,芯片.摄像头.分辨率不统一等等,这些都逐渐成为Android系统发展的障碍,碎片化严重不 ...