本文转载自:XILINX开发者社区微信公众号
在某些情况下,比如远程工作时,可能需要访问本地的器件。
本篇简介教程演示了如何共享并访问位于远程实验室内的开发板或归其它同事所有的开发板。
本教程分 2 个部分:
第 1 部分:必须由开发板所有者执行的任务。
第 2 部分:必须由此开发板的访问者执行的任务。
骤 1:共享开发板
将此开发板通过 USB 线连接到您的计算机,就像本地使用一样。
在此示例中,要共享的是 ZCU102 开发板。
打开 Vivado 实例,在主页上的 Tcl console 中,运行以下命令:
exec hw_server -d
如果不添加 exec,则会显示如下图所示警告,敬请放心忽略此警告。
此进程成功完成后,将显示 hw_server URL,在本例中,URL 为 anunesgu31。
将此 URL 共享给需访问该板的人员。
注:对于内部 URL,所有者与访问者需位于相同网络内,通常通过 VPN 连接来共享。
此外,还需共享所使用的 hw_server 版本。此实例的访问者必须使用相同版本或者更低版本的 Vivado。否则可能导致连接遭拒绝。
此时即可关闭 Vivado 窗口,hw_server 进程将继续在后台运行。
以上即必须由共享开发板的所有者执行的所有任务。
注:请查阅本教程的最后一部分“终止 hw_server 进程”,以确保当您不想再共享器件时可正确终止 hw_server 应用。
若不终止 hw_server 进程,可能导致打开其它“硬件管理器 (Hardware Manager)”实例和连接到其它器件时出现问题。
步骤 2:访问开发板
打开“硬件管理器”,启动“目标连接 (Target Connection)”。
选择“远程服务器 (Remote Server)”并输入由共享者提供的主机名。
单击“下一步 (Next)”后,硬件管理器将查找所提供的主机内的可用器件。
根据共享者和访问者的互联网连接速度,这可能需耗时数秒。
硬件管理器将显示找到的器件。确认其中显示所需的器件,然后完成连接。
确认连接成功,并确认器件现已可正常使用。
请注意,由于所有命令和数据传输都将通过互联网执行,所有任务(如开发板编程、查看 ILA 数据等)耗时可能都比本地环境更长。
如何终止 hw_server 进程
如上文所述,当远程用户不再访问共享开发板时,需正确终止 hw_server 应用。
若不终止 hw_server 进程,可能导致打开其它“硬件管理器 (Hardware Manager)”实例和连接到其它器件时出现问题。
以下是先前共享实例仍在运行的情况下启动新的本地 hw_server 时可能出现。
在 Windows 上:
打开命令提示符 (CMD) 并运行以下命令:
netstat -aon | find “3121”
此命令将查找正在侦听端口 3121 的所有进程。
找到 hw_server 应用的进程 ID (PID)。在本例中,PID 为 33232。
将此 PID 用于以下命令。
taskkill /F /PID 33232
在 Linux 上:
打开终端应用并运行以下命令:
ps aux | grep hw_server
此命令将查找描述中包含 hw_server 名称的所有进程。
或者也可以使用以下命令:
pidof hw_server
在本例中,PID 为 86328
将此 PID 用于以下命令。
kill -9 86328