本文内容学习自正点原子ZYNQ领航者FOGA视频-p41

众所周知之,所有软件的开发学习都是从Hello World开始,Zynq PS也不例外。

图为ZYNQ嵌入式最小系统。

Memory用来存储数据、RS232用来与上位机通信。

1.它是使系统工作的最小条件。

2.它是其它系统建立的基础。

上图就是PS

下面就通过创建一个Hello World工程来学习PS的开发流程。

打开软件

ZYNQ的开发不论是PL还是PS端都是要从Vivado中的创建工程开始,所以和PL端开发一样,首先打开Vivado18.3。

1. 创建工程

1.1 Porject Name

同PL端开发一样,PS端同样需要创建工程。

创建好工程路径和工程名称后我们点击Next。

1.2 Project Type

PS端的开发也是创建RTL工程,然后我们这里选择此时不指定源文件。

1.3 Default Part

这里选择好对应的芯片型号。

1.4  New Porject Symamry

工程创建完毕。

2. 创建PS

PS端的设计实际上会用到许多IP核然后将其组合起来,组成一个System,所以要从创建模块设计开始。

2.1 Create Block Design

起名为system。

2.2 Add IP

这里的Diagram就相当于一个“画板”,在这里添加IP。

这个就是ZYNQ的PS部分,将其双击将其添加进来。

这样就将PS添加到Diagram中了,之后我们将对他进行配置。

配置PS

2.3 DDR Configuration DDR配置

这里配置好存储器类型和型号。

2.4 Peripheral I/O Pins  外设引脚选择

这里我们要配置RS232协议的通信串口也就是UART来实现,在配置之前我们首先要看一下板子的设计原理图。

原理图里可以看到UART_RXD和UART_TXD对应的分别是PS_MIO14和PS_MIO15,所以接下来配置UART的时候,就要选择相对应的MIO。

这里就直接选中和原理图对应的引脚即可。

2.5 PS-PL Configuration

接下来配置串口通信的波特率

选择115200即可。

最后点击OK,配置完成。

注意:MIO电平的配置,要结合原理图,本实验中Bank1用的是3.3v,Bank2用的是1.8v。

2.6删除多余接口和自动配置端口

M_AXI_GP0和M_AXI_GP0_ACLK这两个是PS与PL端的IO口和对应的CLK,把下图勾选取消即可。

FCLK_0就是PS提供给PL端的CLK,因为没有用到PL所以这里也取消掉。

FCLK_RESET0_N这个是PS端提供给PL的复位接口,取消掉。

未用到的接口取消掉后,我们点击Run Block Autoamtion 自动完成模块端口的创建。

之后可以验证设计,点击此图标,可以自动验证设计是否有一些错误或者警告。

无错误和警告,设计完成。

2.7 生成输出结果

这里就是对刚才包含的每一个IP和都生成一个管脚约束or其它什么结果。

这里选择每个IP一个输出,因为我们只有一个ZYNQ PS的IP,所以也就只有一个输出。

生成后每个IP核都会有他综合、实现和仿真的一些结果,比如实现中的管脚约束等。

3 Create HDL Wrapper 生成顶层HDL

这个就是为我们的设计生成硬件描述文件的顶层文件,相当于用硬件描述语言将刚才的设计封装起来。

这里选择默认选项,当设计有更新的时候吗,它也会自动更新。

4.生成Bitstream并导入SDK

因为没有PL端设计,所以不需要生成Bitstream,直接导入SDK就行。

这里问你是否导入Bitstream文件,因为没有用PL所以不导入。

点击OK之后,工程文件夹下会多一个.sdk的文件夹,其中只有一个.HDF文件。

Hardware Design File这个文件就描述了硬件设计的一些信息。

然后启动SDK,后可以看到这个文件所包含的文件。

5.在SDK中创建工程

File-New-Application Project

设置好工程名其它都保持默认,会默认生成一个Board Support Package然后NEXT

这里选择一个空的例程。

然后就生成了,软件工程的一些文件。

这里的Board Support Package,应用软件是在硬件运行。最下面的文件夹就包含硬件信息,最上面文件夹就是软件应用。BSP就相当于两者的桥梁,会有一些驱动。

在src文件夹下,创建一个New Source File,命名为main.c

注意要带上.c

之后,就可以在右侧编辑代码,然后我们写入hello world的代码。保存后会自动编译。

6.下载验证

板子也要连接好串口线,PS和上位机通信用。

连接好与串口,波特率与之前的设置对应都是115200。

这个.elf就是需要下载到板子上的可执行文件。

右键hello_world1-Run As-1Launch on Hardware,下载到板子上。

下载成功之后,可以再SDK Terminal窗口中看到打印出来的hello world

这个Hello,World!来自于我们下载到板子上的程序运行之后,通过与上位机的串口发送到上位机中。

至此Hello World实验完成!。

Vivado18.3-Zynq PS的开发流程(Hello World) 学习笔记相关推荐

  1. Java开发面试高频考点学习笔记(每日更新)

    Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...

  2. VHDL编写多功能数字钟,spartan3 FPGA开发板硬件实现-学习笔记

    VHDL编写多功能数字钟,spartan3 FPGA开发板硬件实现-学习笔记 多功能数字钟硬件测试视频: https://www.bilibili.com/video/av62501230 1.数字钟 ...

  3. Unity开发基础——使用字符串学习笔记

    蓝鸥Unity开发基础使用字符串学习笔记 本节内容:使用字符串:字符串拼接.转义字符 一.字符串拼接:字符串可以使用+或+=进行字符串拼接!! using System; namespace Less ...

  4. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...

  5. Spark开发环境搭建(学习笔记)

    夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远. 夫学须静也,才须学也,非学无以广才,非志无以成学.淫慢则不能励精,险躁则不能冶性. 年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐, ...

  6. Zynq的AMP开发流程说明(基于OCM)

    目录 一.平台说明 二.软件安装 三.基本开发流程 3.1.AMP模式介绍 3.2.开发流程框图 四.具体开发流程 4.1.下载官方Demo源码 4.2.Vivado工程创建(Windows 64位环 ...

  7. 《Web前端开发最佳实践》学习笔记

    一.Web前端开发概述 Web前端:前端UI+后端数据交互 具体技能:页面标记 + 页面样式 + 前端编程 + 跨平台.跨浏览器 + 前端框架 + 调试工具 二.高效Web前端开发 文件结构: js: ...

  8. 《Linux设备驱动开发详解》学习笔记一

    Linux设备驱动开发详解学习笔记<一> 书名:<Linux设备驱动开发详解>第二版 主机环境:Linux version 2.6.25-14.fc9.i686@Fedora ...

  9. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(3):抓取猫眼电影榜单TOP100电影,并存入Excel表格

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...

最新文章

  1. android smack源码分析——接收消息以及如何解析消息
  2. 备战实习求职的一些感想(已拿阿里offer)
  3. 【Minimum Depth of Binary Tree】cpp
  4. 附加数据库失败:错误:5120
  5. mongodb $unwind 聚合管道
  6. Eclipse/myeclipse中*.xml 配置文件添加长名字的类的简单方式
  7. 并且确定已经识别出了主要的HTML5技术风险
  8. matlab建立的发动机的模型,基于MATLAB∕Simulink的摩托车发动机仿真模型建立.pdf
  9. 7.docker pull
  10. php查询mysql语句_PHP之路——MySql查询语句
  11. git 还原某个文件到特定版本
  12. 窗方法原理之矩形窗及汉明窗
  13. 新唐NUC980网络设置
  14. 关于Python入门的常用工具Wing你了解多少
  15. 基于机器学习场景,如何搭建特征数据管理中台?
  16. 这些“新职业”到底好不好干?听听过来人怎么说
  17. matlab julia分形图,Three.js 朱丽亚集(Julia set)分形图案
  18. 统计学之三大相关性系数(pearson、spearman、kendall)matlab实现
  19. python学习教程2
  20. 武田将在即将召开的虚拟科学大会上呈报数据,强调肿瘤产品阵容和后续产品管线的广度

热门文章

  1. 移植flash游戏到android
  2. SecureCRT使用及解决securecrt rz 上传rar,gif文件不正确问题
  3. 大厂SQL面试题,连续时间问题
  4. firefox浏览器邮件通知插件
  5. 分享136个ASP源码,总有一款适合您
  6. C语言关键字及其解释[共32个]
  7. matlab中数组的排序以及转置
  8. GBT22239-2019信息安全技术网络安全等级保护基本要求第三级安全要求管理部分表格版
  9. 【MuMu模拟器】玩崩坏3的左摇杆(方向键)设置问题解决方法
  10. 浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎