Kika's
Blog
图片简介 | CC BY 4.0 | 换一张

PYNQ-Z2 开发板上手教程

2023-11-01

烧录镜像

准备一张至少8GB的Micro-SD card。

这里,找到最新的SD card image版本(第一次下载的老版本,发现会有问题,连不上板子),然后使用rufus或者Win32DiskImager(Ubuntu gnome桌面自带的启动盘制作软件也可以)写入SD卡。

板子上电

除了上面的SD卡,还需要准备以下线缆

  • Micro USB 线缆
  • 网线

参考官方文档

看下面这张图连线,特别注意开关和跳线帽的状态

pynqz2_setup

串口连接

Windows下通过设备管理器查看PYNQ是哪个COM口,然后通过putty串口连接,连接配置:

波特率:115200

连上之后,敲一下回车,就能看到xilinx@pynq:的提示符了

Linux下同样通过putty串口连接

键入下面的命令安装putty

sudo apt-get install putty

安装putty后,终端输入putty即可启动putty,这里不是Windows下面的COM*,而是填ttyUSB*,至于是ttyUSB0还是ttyUSB1可以直接试试就知道了.

或者你也可以键入下面的命令,查看Linux内核消息中有关USB的部分

sudo dmesg | grep usb

可以看到有关PYNQ的信息,并且可以看到是被挂载到了ttyUSB0

[ 3158.131770] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3158.131777] usb 1-2: Product: TUL                                            
[ 3158.131783] usb 1-2: Manufacturer: Xilinx                                    
[ 3158.131788] usb 1-2: SerialNumber: 1234-tul                                  
[ 3158.175140] usbcore: registered new interface driver usbserial_generic       
[ 3158.175150] usbserial: USB Serial support registered for generic             
[ 3158.176883] usbcore: registered new interface driver ftdi_sio                
[ 3158.176894] usbserial: USB Serial support registered for FTDI USB Serial Device                                                                              
[ 3158.177068] usb 1-2: Detected FT2232H                                        
[ 3158.177587] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0

网络配置

大坑

对于Windows而言,首先配置连接PYNQ的以太网端口,设置IP为192.168.137.1,掩码为255.255.255.0,然后再设置WiFi适配器共享Internet给以太网端口

然后直接看这篇文章,讲的很好,总的来说就是,再将PYNQ指定一个IP192.168.137.101,设置网关为192.168.137.1(即以太网端口),同时配置一下路由表和DNS解析。

由于网络原理刚好才学,学艺不精,这里被卡了很久,当时一直ping www.baidu.com,一直得到Temporary failure in name resolution的错误提示。我一直以为是DNS解析的问题,但其实是路由配置的问题。 当时我查到PYNQ的路由表是这样的:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.137.1   0.0.0.0         UG    0      0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

第一行default那行没毛病,就是将剩下没有被匹配的所有请求转发给网关192.168.137.1(即以太网端口),第二行似乎是系统自己添加的,当时我还没看出有什么问题,结果夜深人静,静下心来仔细思考了一下,0.0.0.0就意味着将所有192.168.137.0网络的请求都没转发给以太网端口了。于是我删掉第二行之后,就ping通了。

键入下面的命令以删除第二行路由

sudo route del -net 192.168.137.0 netmask 255.255.255.0

删的时候还有点犹豫,主要是之前有次直接把路由表删光了,结果jupyter等等直接没了,被吓到了QAQ

之后打开浏览器访问http://192.168.137.101:9090就能打开PYNQ的jupyter了。而且PYNQ自己也能联网了,就可以使用pip联网安装所需要的库了。