PYNQ-Z2-开箱测试

简介: PYNQ-Z2-开箱测试

1.PYNQ 简介


PYNQ-Z1 开发板支持 PYNQ 项目,这是一个新的开源框架,使嵌入式编程人员能够在无 需设计可编程逻辑电路的情况下即可充分发挥 Xilinx Zynq All Programmable SoC(APSoC) 的功能。与常规方式不同的是,通过 PYNQ,用户可以使用 Python 进行 APSoC 编程,并 且代码可直接在 PYNQ-Z1 上进行开发和测试。通过 PYNQ,可编程逻辑电路将作为硬件 库导入并通过其 API 进行编程,其方式与导入和编程软件库基本相同。

image.png

PYNQ-Z1 开发板是 PYNQ 开源框架的硬件平台。在 ARM A9 CPU 上运行的软件包括:

  • 载有 Jupyter Notebooks 设计环境的网络服务器
  • IPython 内核和程序包
  • Linux
  • FPGA 的基本硬件库和 API4

2. Jupyter Notebook 简介


Jupyter Notebook 是一个基于浏览器的交互式编程计算环境。在使用 Jupyter Notebook 编 程时,文件里可以包含代码、画图、注释、公式、图片和视频。当 PYNQ 开发板上安装好 镜像文件,就可以在 Jupyter Notebook 里轻松地用 Python 编程,使用硬件库及 Overlay 控制硬件平台及交互。

3. 软硬件准备


1) 硬件准备

  • PYNQ-Z1 开发板
  • 以太网线
  • Micro USB 数据线
  • 空白 Micro SD 卡(最少 8GB 容量)

2) 软件准备

电脑上安装有支持 Jupyter 的浏览器

提示:以下浏览器的最新稳定版本可支持 Jupyter Notebook*

  • Chrome
  • Safari
  • Firefox

* 主要由 Jupyter Notebook 使用的 WebSockets 和可变沙箱模型决定

不支持 Jupyter 的浏览器:

  • Safari,低于版本 5
  • Firefox,低于版本 6
  • Chrome,低于版本 13
  • 全部 OperaCSS 渲染原因导致,但是执行时有可能可以用
  • Internet Explorer 浏览器,低于版本 10
  • Internet Explorer 浏览器,版本 10 及以上(同 Opera
  • 基于 IE 360 浏览器

* 请注意,Safari 在 HTTPS(SSL 安全加密的超文本链接协议)和不可信证书下无法正 常工作(主要是 WebSockets 无法正常工作)

  • 将空白的 SD 卡插入电脑(最小需 8GB 容量),烧写镜像文件
  • Windows 系统:使用 win32DiskImager 烧写。Image File 选择下载好的
  • 镜像文件。Device 选择 SD 卡的位置,一般会自动分配为 E 盘或 F 盘。
  •  获取镜像文件
  •  下载 PYNQ-Z1 镜像文件http://www.digilent.com.cn/community/411.html并解压

image.png

 Linux 系统/MacOS:使用系统自带 dd 命令,在不同操作系统上烧写

Micro SD 的操作细节,可参考教程 http://pynq.readthedocs.io/en/latest/appendix.html#writing-the-sd-card

4. PYNQ-Z1 硬件设置


image.png

  • 1. 如上图所示,将跳帽插在最上边两个排针上,设置 boot 跳线(板上标记的 JP4)到 SD 位置,选择为从 SD 卡驱动
  • 2. 要想通过 Micro USB 线对 PYNQ-Z1 进行供电,需如图所示将跳帽插在的最下边两个 排针上,设置电源跳线(JP5)到 USB 的位置(你也可以使用 12V 外部电源对 PYNQ-6 Z1 进行供电,将跳帽插在的最上边两个排针上,设置电源跳(JP5)到 REG 的位置)
  • 3. 将已安装镜像文件的 SD 卡插入 SD 卡槽(如图所示,SD 卡槽在开发板下方右侧边缘)
  • 4. 使用 Micro USB 线将 PYNQ 开发板的 PROG UART(J14)接口连接到电脑。这将用来 给 PYNQ 供电以及作为串口通信
  • 5. 使用网线将 PYNQ 开发板连接到路由器或电脑(根据网线端口的选择,后续操作会有不同)*
  • 6. 将开关拨到 ON 以打开 PYNQ,等待系统启动。大约一分钟后将有两个蓝色的 LED 和 四个黄绿色的 LED 同时闪动,随后蓝色 LED 关闭,四个黄绿色的 LED 灯亮。此时系统 启动完毕。

* 关于板载以太网连接的详细说明

你可以将 PYNQ-Z1 的以太网接口和以下设备连接:

  • 连接到一个路由器或者交换机上,与你的电脑在同一网络下
  • 直接连在电脑的以太网接口上

可以的话,请将你的开发板连接到一个具有以太网访问的网络上。这可以让你更新板子上

的软件并可以安装新的软件包。

连接到网络

如果你通过 DHCP 服务器连接到一个局域网络,你的板子会自动获取一个 IP 地址,你必须保证有足够的权限通过网络访问到设备,否则板子可能无法正常访问。

路由器/网络交换机(DHCP)

  1. 将板载以太网接口连接到路由器/交换机上
  2. 通过浏览器访问 http://pynq:9090
  1. 更改主机名称(根据自身需求)
  2. 配置代理(根据自身需求)

直接连接到电脑

此时,你需要一台有以太网接口的电脑,同时你需要拥有配置网络接口的权限。通过直接相连,你就可以访问使用 PYNQ-Z1 了。但是这里需要注意,除非你能将以太网与电脑上具有 Internet 访问的连接进行桥接,否则你的 PYNQ-Z1 是无法访问 Internet 的。在没有 Internet 连接的情况下,你不能更新或者加载新的软件包。

直接连接你的电脑(静态 IP)

给电脑配置一个静态的 IP

将板载以太网接口与电脑的直接相连

访问 http://192.168.2.99:9090

*如何配置静态 IP 请参见 https://pynq.readthedocs.io/en/latest/appendix.html#assign-your-computer-a-static-ip

5. 连接到 Jupyter 进行在线编程


如果PYNQ通过网线连接到了路由器,PYNQ将被自动分配地址。打http://pynq:9090,用户名和密码都是 xilinx,输入后即可进入以下界面。如果 PYNQ 通过网线连接到了电脑,需要先设置电脑的 IP 地址,参考https://pynq.readthedocs.io/en/latest/appendix.html#assign-your-computer-a-static-ip,然后再打开 http://192.168.2.99:9090。同样,输入用户名及 密码 xilinx,即可进入以下界面。

image.png

默认的主机名是 pynq,默认静态 IP 地址是 192.168.2.99。如果你改变了主机名称或者板子上的静态 IP 地址,你需要改变你访问的地址。第一次连接时,电脑会花费几秒钟的时间来确定主机名和 IP 地址。

PYNQ 通过 Jupyter Notebook 的形式来提供各种示例文档。你可以以网页形式浏览这些示例项目文档,或者如果你有一个正在运行 PYNQ 镜像的板子,你可以可交互式地查看并运行这些 Notebook 文档。你也可以在 Jupyter 主页上的 Getting_Started 文件夹中找到可以使用的 Notebook 文档。

image.png

这里也有许多示例文档来展示如何使用各种板载设备。

image.png

此外,我们还提供了一些样例展示如何使用不同的板载外围设备。目前,所有我们已对所有这些示例文档进行了分类:

  • common: 无针对性 overlay 的示例项目
  • base: 与 PYNQ-Z1 base overlay 相关的示例项目
  • logictools: 与 PYNQ-Z1 logictools overlay 相关的示例项目

当你打开一个笔记本并作出任何修改,或者执行代码片段,notebook 文档都将会被更改。这就需要你打开一个新的 notebook 时做好备份。如果你需要恢复原始版本,你可以从 PYNQ Github  https://github.com/xilinx/pynq 项目页面上下载全部笔记本。

在 Running 一栏下,则可以看到正在运行的项目。

image.png

访问板载文件

在 PYNQ 板上,运行有一个文件共享服务:Samba。通过它,板子上的主目录可以作为网络驱动器访问,同时你可以将文件在板子和电脑间传递。

\\pynq\xilinx # If connected to a Network/Router with DHCP
\\192.168.2.99\xilinx # If connected to a Computer with a Static IP

或者在 Linux 下:

smb://pynq/xilinx # If connected to a Network/Router with DHCP
smb://192.168.2.99/xilinx # If connected to a Computer with a Static IP

然后会跳出下图:

image.png

Samba 服务器的用户名和密码都是 xilinx。

注意:如果必要,请修改主机名/IP 地址。

更改 hostname

如果你连接在一个其它 PYNQ-Z1 开发板可能已经连接入的网络下,建议你立即更改你的主机名称。通常,这种情况在工作或者校园环境下会比较常见。PYNQ 的默认 hostname是 pynq , 终 端 被 内 嵌 在 Jupyter 中 。 在 Jupyter 的 主 页 pynq:9090 界面 中 打 开New>>Terminal,你将以 root 权限在浏览器中打开一个终端:

image.png

在 Terminal 里输入以下指令更改 hostname(使用你自己希望给板子设置的主机名来替换 NEW_HOST_NAME 的位置):

sudo /home/xilinx/scripts/hostname.sh NEW_HOST_NAME

image.png

然后需要重启 PYNQ 才能生效(使用新的主机名重新连接):

sudo shutdown -r now

注意:如果你以 root 权限登录,则不需要使用 sudo。但是如果使用 xilinx 进行登录,sudo 必须添加在这些命令之前。如果你不能访问你的板子,浏览下面的步骤以通过 micro USB 线来打开终端。

通过 USB 接口连接电脑终端

如果你需要修改板载设置,但是无法访问通过 Jupyter 访问终端,你可以借助 USB 接口, 通过电脑终端控制 PYNQ。此时我们需要安装一个终端工具,比如 PuTTY 或者 Tera Term。 为了打开终端,你需要知道开发板所在 COM 端口。

在 Windows 上,你可以在控制面板打开 Windows 设备管理器进行查看

  • 打开设备管理器,展开端口项
  • 找到 USB 串口所在 COM 端口,例如 COM5

一旦你知道了 COM 端口,打开 PuTTY 并使用下列设置:

  • 选择 Serial
  • 输入 COM 端口号
  • 输入波特率
  • 然后点击 Open 启动

在终端窗口中按 Enter(回车)以确保你能看到命令行:

xilinnx@pynq:/home/xilinx#12

完整的终端设置如下:

  • 115200 baud
  • 8 data bits
  • 1 stop bit
  • No Parity
  • No Flow Control

image.png

在终端中按回车键,出现 xilinx@pynq:~$,即可输入指令控制 pynq。比如输入 hostname查看名称,输入 ifconfig 查看 IP 地址等。

image.png

设置代理

如果你的开发板连接到的是使用代理的网络中,你需要在板上设置代理服务器。按照上方

教程打开终端,并输入下列命令并将“my_http_proxy:8080”和“my_https_proxy:8080”更改

为你自己的设置:

set http_proxy=my_http_proxy:8080

set https_proxy=my_https_proxy:8080

目录
相关文章
|
4月前
|
SQL 弹性计算 测试技术
实时数仓Hologres TPC-H及点查性能开箱测试
Hologres现在仍然是TPCH-30000榜单的全球第一,领先第二名高达23%,最新发布的2.2版本相比之前的1.x的版本性能大约提升100%。
|
图形学 芯片 内存技术
RVB2601 开箱测试-裸奔Oled+定时器+按键测试
本文主要介绍RVB2601开发板的开箱测试过程。
377 0
RVB2601 开箱测试-裸奔Oled+定时器+按键测试
|
18天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
29 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
192 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
197 3
快速上手|HTTP 接口功能自动化测试
|
26天前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
35 0
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
39 5
|
3月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
4月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
187 5
Postman 接口测试配置 Pre-request Script
|
3月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~