fpga pynq镜像制作及win下网络配置
先前准备:
- 一块至少8GB的SD卡用于存放pynq镜像;
- 一个SD卡读取器,用于在PC端访问SD卡;
- 一个支持烧录pynq镜像并支持SD启动的FPGA开发板;
- 一根足够连接PC和开发板的网线;
- 在下载文件等多处可能国内网络较差,可以尝试通过软件连接外网;
pynq镜像下载
- 首先去 pynq镜像官网下载对应pynq版本(新版本:v2.6之后和旧版本之间差异还是比较大的;比如xlink库的删除)。而且在下载时要注意pynq版本和vivado版本的对应关系。
我使用的是zcu104+vivado2022.1,因此我下载的是pynqv3.0.1。
注: 访问这个网站需要接入外网。
pynq镜像制作
- 将下载好的pynq包解压;
- 使用镜像制作软件:Win32DiskImage,打开下载好的软件;
- 将sd卡通过读卡器连接上电脑,选择解压后的pynq镜像文件,并点击写入,等待烧录;
- 等待一会,写入完成后即可将sd卡插入开发板。
fpga启动模式调节
通过开发板上的启动开关调节开发板的启动模式,使其能通过sd卡启动。
下图为ZCU104的板子的调节方式,其他板子可以参考pynq_DOS。
具体操作如下图(有些板结构不同,认准标号即可):
上电连接
- 使用串口可视化软件(putty、MobaXterm)连接开发板;
- (使用MobaXterm)配置端口,可能会出现三个端口,一般默认是三个中最小的(com4口),不过你可以都试试,波特率调为115200;
- 打开刚刚的Serial,开发板上电,接着窗口中出现加载信息,加载结束后出现“xilinx@pynq:~$”;
注:
a. 此时的开发板上会有对应led亮起(具体参考上文pynq_Dos);
b. 假如你是直接等文件加载好后再打开的serial,则需要按下‘Enter’即可出现上述结果。
参考资料
- 知乎上的《制作ZCU102的PYNQ镜像》,其中较详细的介绍了从外部环境(linux)搭建、vivado安装到pynq镜像制作的详细过程。
- pynq官方配置文档,其中详细的介绍了多种开发板pynq镜像制作、pynq overlay和libs介绍等资料,建议研读。
网络配置
pc端网络共享处理
-
通过网线连接PC和FPGA;
-
打开PC端“网络适配器”的控制面板,在页面中会出现一个新的网络(可以进行改名,我的是改名之后的);
-
选中当前网络(可以是WiFi也可以是以太网),选择属性中的共享,勾选允许共享,并选中刚才的网络(其他不用更改);
-
确定之后会弹出PC端为网络固定的IP(一般会被固定为192.168.137.1)窗口,记住这个ip后续会用它作为pynq的网关。注意,如果没有弹出强制固定ip,可能是没配置好,可以试着把共享关了,再重新共享一下。下图是自动固定的ip,不需要手动填写,如果没有试着重新共享。
查看pynq的ip:
fpga ip修改
- 进入之前的serial窗口,输入
ip查看命令
:
// ifconfig为linux IP 查看命令
xilinx@pynq:~$ ifconfig
初始时eth0
下不含ipv4
的ip地址,下图为已修改后的。
- 输入
用户切换命令
,以便拥有更高的权限去修改IP:
// 使用sudo命令将用户切换到权限最高的Xilinx用户
xilinx@pynq:~$ sudo su
对应的用户密码为xilinx,对于所有的镜像的用户和密码都是xilinx,当然不想麻烦可以直接在ifconfig
命令前加上sudo
。
- 输入
IP修改命令
,其中要保持开发版的ip与pc端网口的ip位于同一个网段,即pynq的ip需要设置为192.168.137.x(x表示2~255的任意):
//pynq默认的ip位于eth0:1下,因此需要设置eth0的ip,才能修改pynq IP
root@pynq:/home/xilinx# ifconfig eth0 192.168.137.10 netmask 255.255.255.0
注: 重新连上fpga时可能会出现ip变更现象,可能会出现用以前的ip访问不了文件系统,建议使用ifconfig
命令查看确保ip无误后再访问
网络测试
- 联网测试,输入
网站访问命令
:
// 在外网和内网都是可以ping通百度的
xilinx@pynq:~$ ping www.baidu.com
如果联网正常可以正常返回与百度网站的握手信息。
- jupyter 访问测试,在浏览器中输入
pynq的jupyter的访问链接
。
// 在浏览器中直接输入下面代码
192.168.137.10:9090
其中9090是默认端口,可以自行在命令窗口中更改;而且每次重新启动,可能会换ip,但可以使用pynq:9090
访问
-
文件系统访问,注意只有出现在jupyter中的文件是可以通过共享修改的。
a. 使用pc端自带文件系统访问pynq目录(只含xilinx文件夹下的文件),可以直接通过复制、拖拽等操作实现文件控制;
在窗口输入\\pynq\xilinx
便可以进入文件系统:b. 使用串口可视化软件,通过
ssh
连接fpga(不能使用直接可以操作文件的ftp等协议),其中文件都属于只读文件,但可以通过复制路径在命令窗口中通过copy
等命令实现;文章来源:https://www.toymoban.com/news/detail-625060.html协议连接窗口:
文件系统显示文件:
文章来源地址https://www.toymoban.com/news/detail-625060.html
参考资料
- csdn上的PYNQ板连接互联网的方法,其中介绍了ip的配置。
- csdn上的PYNQ上手笔记,其中详细的介绍了镜像的烧录及fpga的连接。
- csdn上的Pynq-Z2 开发指南与实例(Linux系统方式),超详细地介绍了在linux下的pynq配置。
- csdn上的PYNQ -z2 与 PC主板网口直连上网 可ping通外网,介绍了网络的连接。
- PC端网络共享页面卡死处理,如果出现共享页面卡死,可以参考这个处理。
小结
- pynq的安装主要为两个方面,镜像烧录及网络配置。
- 对于镜像的烧录主要关注版本的对应,以及在使用win32软件烧录镜像时,要注意要确保在烧录前要把sd卡清空(否则可能会有未知的错误)。
- 对于网络的配置要注意pc端网口的固定ip(作为pynq网关)。如果不想这么麻烦,可以直接将fpga接在路由器上。
- 对于网络共享时页面卡死情况需要重置
winsock
目录。 - 有时重新登录后,会出现断网(与主机共享失效)现象,尝试重新共享网络解决。
到了这里,关于fpga-pynq镜像制作及网络环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!