跳转到主要内容

PYNQ

PYNQ上手笔记(2)——PL端和PS端的独立开发

judy 提交于

<font color="#FF8000">作者:Mculover666</font>

在上一篇中提到,Pynq是为了降低开发人员的门槛,但是作为一个学习嵌入式开发的学生,当然要一步一个脚印打好基础,所以选择从Zynq入手学习,等跑起来Linux系统再运用Python开发也不迟,知其然也知其所以然,开发效率更高,所以接下来的几篇都是关于Zynq的,如果想直接玩Pynq可直接跳过,毫无影响。

1.Zynq的架构
在开始实验之前对Zynq芯片有一个基本的认识,如果想深入了解关于Zynq的理论部分,推荐参考The Zynq Book,有英文版和中文版,在此对于Zynq的理论浅尝辄止,不做深究,重点放在实验应用上。

Zynq中包含两大功能块:PS部分和PL部分。

<li>PS部分指Processing System,一个基于双ARM Cortex A9内核的处理系统,其中集成了内存存储器和外部存储器接口,大量的外设:GPIO、UART、SD/SDIO、IIC、SPI、以太网、CAN等等接口;</li>

PYNQ系列学习(四)——pynq与zynq对比(三)

judy /

上一期,我们重点学习了ZYNQ的PL开发,本期我们侧重于进行PS开发的学习。我们将在 VIVADO 开发环境下搭建 ARM+FPGA 的系统架构,并在 SDK 中编译软件实现软硬件联合开发。

本部分的学习,我们依旧借助得力的助手与伙伴——PYNQ_z2来完成。

一. 实验目的

1. 点亮开发板右下角三个灯

2. 输出“Hello,World!”

二. 实验要求

1. 在 VIVADO 中编译 bit 文件;

2. 在 SDK 中编译 elf 文件并将 FPGA 的 bit 文件和 ARM 处理器 的 elf 文件下载到开发板中

三. 实验步骤

PYNQ系列学习(三)——pynq与zynq对比(二)

judy /

上一期的学习中,我们系统性地介绍了PYNQ与ZYNQ地区别与联系。PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发。

Pynq降低了开发人员的门槛,但知其然也知其所以然,开发效率将会更高。因此,在进入PYNQ的python开发之前,我们先来学习ZYNQ的PL与PS开发,为接下来的学习提供良好的基础。

本部分的学习,我们依旧借助PYNQ_z2来完成。

<strong>1. ZYNQ功能块</strong>
ZYNQ中包含两大功能块:PS部分和PL部分。

PS部分指Processing System,一个基于双ARM Cortex A9内核的处理系统,其中集成了内存存储器和外部存储器接口,以及如GPIO、UART接口等大量的外设。

PYNQ系列学习(二)——pynq与zynq对比(一)

judy /

Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列。与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑。采用这种方法,软件编程模式与全功能的标准ARM处理SoC毫无二致。

与之相关和不同的是,PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发。

<strong>1. 实例图片</strong>
下面是ZYNQ系列与PYNQ系列中两款具有代表性的开发板:

ZYNQ系列——ZYNQ7000
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201811/13898-407…; width="670"></center>

嵌入式工程师如何用好GitHub

judy /

这年头GitHub可谓是程序员必备交友技能。毫无疑问GitHub现在已经是全球最大的开源社区了,也常常被人戏称为“全球最大同性交友平台”。

你可以在这里follow各种开源社区的技术大牛,学习到各种各样的开源技术和开源项目。

那么作为一个嵌入式工程师,我们应该如何用好GitHub呢?GitHub可以用来做些什么好玩有意思的事情呢?

<font size="3"><strong>追随开源项目</strong></font>

要说在嵌入式方面应用最广的是什么,大家一定不会忽略Linux。

在GitHub上我们可以很轻松地找到Linus Torvald的linux项目 https://github.com/torvalds/linux

PYNQ系列学习(一): Pynq开发环境配置

judy /

PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能。

与常规方式不同的是,通过PYNQ,用户可以使用Python进行APSoC编程,并且代码可直接在PYNQ-Z1上进行开发和测试。通过PYNQ,可编程逻辑电路将作为硬件库导入并通过其API进行编程,其方式与导入和编程软件库基本相同。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201811/13828-40384-…; alt=""></center>

PYNQ直播:加速电机控制应用中的边缘分析和机器学习部署

judy /

你想知道如何为电机控制或者其它工业物联网应用实现远程诊断和预测性维护吗?此次研讨会将通过名为“PYNQ”的革新型架构向您展示赛灵思 Zynq SoC在工业物联网边缘智能和控制应用中的“自适应”的能力。。Python + Zynq= PYNQ。PYNQ是赛灵思公司开发的一个开源项目,旨在让基于赛灵思Zynq的嵌入式系统设计更加容易。其结合了业界最流行编程语言Python的高效生产力和丰富的开源分析库和机器学习库,以及赛灵思Zynq SoC 灵活可扩展的特性,可加速实现电机控制中边缘分析和机器学习的快速部署。

本次网络研讨会将为您介绍为什么需要在电机控制应用中使用赛灵思ZynqSoC的基本概念,以及PYNQ如何在无论是否连接到云网络的条件下,都能帮助软件工程师或者数据分析师轻松地从电机数据中获得片上的、实时的洞察分析。PYNQ所带来的关键的差异化在于传感器数据在可配置硬件中的预处理,这个预处理可以帮助应用软件发挥出最大效用。