烧录镜像
准备一张至少8GB的Micro-SD card。
去这里,找到最新的SD card image
版本(第一次下载的老版本,发现会有问题,连不上板子),然后使用rufus或者Win32DiskImager(Ubuntu gnome桌面自带的启动盘制作软件也可以)写入SD卡。
板子上电
除了上面的SD卡,还需要准备以下线缆
- Micro USB 线缆
- 网线
参考官方文档
看下面这张图连线,特别注意开关和跳线帽的状态
串口连接
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
联网安装所需要的库了。