hw_server 的命令行选项
以下是 hw_server 命令行选项的列表。
重要提示!远程连接到 PC 上的 hw_server 时,请确保正确配置防火墙策略。请确保 hw_server.exe 有权监
听端口 3121 上的新套接字连接。

detect-ir-length:
禁用在扫描链发现期间对 IR 检测长度进行检测。
该选项用于启动 hw_server 并在其器件表中添加额外的器件。默认情况下, hw_server 启动
时显示预设列表,其中包含从 XICOM SQL jtag 主表编译输入的器件。可通过使用此 set
device-info-file 选项来覆盖或扩展这些设置。指定的文件为 .csv 文件,该文件会忽略以
“#”开头的行。
在 hw_server 启动时指定 .csv 文件的方式如下:
hw_server -e "set device-info-file my_file.csv"
.cvs 文件格式如下 (hw_server_device_info_file.csv):
############################################################
# File: hw_server_device_info_file.csv
# Description:
# This is a sample jtag ID table. This file can be used to define
# additional devices to be detected by the hw_server application.
#
# In this file empty lines, lines with spaces, and lines that begin
# with the '#' character will be ignored.
#
# The format of this file is as follows:
#
# ROW 1: fields
# The standard JTAG id fields are "idcode,mask,irlen,name"
# ROW 2: field types
# For each field specified in ROW 1, the type is used to
# interpret the field data read per device. The types
# accepted are "i" for integer and "s" for string. If
# you use the standard fields on ROW 1 then you should
# use "i,i,i,s" in ROW 2 to set the fields idcode,mask
# irlength to integer and name as string
#
# To use this table you start hw_server with the following
# command line arguments:
#
# hw_server -e "set device-info-file <file>"
#
# Where <file> is replaced with this filename.
############################################################
idcode,mask,irlen,name
i,i,i,s
167784595,268435455,10,chipscope_soft_tap
device-info-file
设置要使用的默认器件文件 .csv
max-jtag-devices
增加在单一扫描链中可检测的器件的最大数量。默认值为 32。
该选项用于启动 hw_server 并且单一扫描链中可检测的数量多于默认器件数量。此设置的默认值
为 32。用户可增大该值以便延长 jtag 链。请注意,增大该数值会导致器件发现流程变慢,从而导
致电缆接入速度变慢。因此,如果用户要增大该值,此设置仅适用于含大量器件的系统。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set max-jtag-devices 64"
xdb-user-bscan
此项可设置将用于扫描 xsdb 核的 bscan。
该选项用于启动 hw_server 并在其它 bscan 上扫描 xsdb 主核。默认情况下,hw_server 将扫
描用户 1 和 3 bscan。通过该选项,您可启动 hw_server 并使其在其它 bscan 用户插槽中查找
bscan。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xsdb-user-bscan 1,2,3,4"
此参数的实参可用于指定参数列表。该列表将为逗号分隔列表,范围为 1-4。列表指定的最小元素
数量为 1,最大数量为 4。
mdm-detect-bscan-mask
此项可设置将用于扫描 mdm 核的 bscan。
该选项用于启动 hw_server 并在其它 bscan 上扫描 MicroBlaze 主核。默认情况下,
hw_server 将扫描用户 2 bscan。通过该选项,用户可启动 hw_server 并使其在其它 bscan 用
户插槽上查找 MicroBlaze。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set mdm-detect-bscan-mask 2"
位掩码适用于由 hw_server 发现的任意 FPGA 或 ACAP。以下是一些常见位掩码设置示例:
掩码值 BSCAN 扫描
0 none
1 User1
3 User1、User2
7 User1、User2、User3
f User1、User2、User3、User4
always-open-jtag
强制 hw_server 在启动时打开所有目标。
默认情况下,当 hw_server 启动时,不会对任何电缆进行初始化。发起首个连接时,将发现并打
开电缆。此发现周期耗时数秒至数分钟,因系统而异。完全初始化后,即可读取电缆并发现器件。
在某些情况下,需要先发现电缆并备用。例如,将 Linux 系统设置为开发板服务器时,最好始终初
始化电缆并准备好提供连接。对于此类情况,您可使用 always-open-jtag 选项来强制打开电
缆。
默认情况下,这是启动时的设置(无需传入任何实参):
hw_server -e "set always-open-jtag 0"
要强制打开电缆,请传入以下实参,如下所示:
hw_server -e "set always-open-jtag 1"
auto-open-servers
打开含特定参数的电缆服务器,用于打开 XVC 电缆。
该选项为调试选项,用于自动打开 XVC 线缆连接,并控制 hw_server 应检测的 USB 线类型。
auto-open-servers 参数的实参为由字段组成的逗号分隔列表。每个字段均为由子字段构成的冒号
分隔列表,其中首个子字段即为其类型,而其余子字段则因类型而异。对于 xilinx-xvc 类型,
子字段为 host 和 port。auto-open-servers 的默认值为“*”,表示 hw_server 应检测它
可支持的所有电缆类型。需要参数的 Cables 类型(如 XVC)则不在“*”覆盖范围内。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set auto-open-servers xilinx-xvc:localhost:10200"
要打开 2 台服务器,应使用:
hw_server -e "set auto-open-servers xilinx
xvc:localhost:10200,xilinx-xvc:localhost:10210"
要打开 2 台 XVC 服务器,除了所有基于 USB 的电缆外,还应使用:
hw_server -e "set auto-open-servers *:xilinx
xvc:localhost:10200,xilinx-xvc:localhost:10210"
auto-open-ports
控制端口(链或扫描链)的自动打开。
该选项用于控制 JTAG 扫描链的自动打开。auto-open-ports 参数的实参为布尔值,1 表示自
动打开所有已知 JTAG 扫描链,0 表示客户端将打开选定的 JTAG 扫描链。默认值为 1。例如,当有
多个 JTAG 扫描链连接到单一主机并使用 hw_server 的不同实例来访问每个扫描链时,即可将该
值设置为 0。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set auto-open-ports 0"
xvc-timeout
更改 XVC 超时值有助于调试 XVC 服务器。
该选项为调试选项,用于增大 XVC 传输事务终止所需的超时周期。xvc-timeout 参数的实参为
以秒为单位的时间。值为 0 将禁用超时,即无限等待。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xvc-timeout 100"
xvc-servers
启动 XVC 服务器以使用电缆。
该选项用于使 hw_server 启动 XVC 服务器以使用指定 JTAG 线缆。xvc-servers 参数的实参为
由 XVC 服务器描述组成的逗号 (,) 分隔列表。每条 XVC 服务器描述均为冒号 (:) 分隔列表,其中包
含电缆标识、XVC 服务器主机名或编号以及端口号。电缆标识为制造商名称和唯一标识,以斜杠
(/) 字符分隔。电缆标识可取自完整电缆标识中的一部分,主机名可为空。如果为空,则表示服务
器应监听所有网络接口上的传入连接。
请参阅 processor-debug-claim 以了解当 XVC 客户端与 XVC 服务器均为相同器件类型的调试
器并使用 XVC 锁定模式时,如何避免干扰。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xvc-servers 210203356596A:localhost:3000"
请注意,您将仍需首先连接到此 hw_server 实例,然后才能初始化电缆接口。如不连接到电缆,
您将看到如下消息:
TCF 19:11:02.417: XVC open port failed: Cannot find
JTAG cable matching 210203A0314DA
要自动打开 XVC 线缆并锁定至 XVC,请添加 always-open-jtag 选项,如下所示:
hw_server -e 'set xvc-servers 210203A0314DA:xcoatslab-9:3122' -e
'set always-open-jtag 1'
xvc-packet-len
更改 XVC 服务器的最大封装长度。
该选项用于控制使用 xvc-servers option 启动的 XVC 服务器所返回的 XVC 封装长度。当前,
默认封装长度为 16000,但在后续更新版本中可能更改此设置。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xvc-servers 210203356596A:localhost:3000" -e
"set xvc-packet-len 1000"
xvc-version
更改 XVC 服务器的 XVC 协议版本。
这是调试选项,可搭配 xvc-servers 一起使用,以控制对 XVC 客户端公开的 XVC 协议版本。当前
默认协议版本为 1.1,但如果定义了新版本的 XVC 协议,则此设置可能更改。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xvc-servers 210203356596A:localhost:3000" -e
"set xvc-version 1.0"
xvc-capabilities
更改 XVC 服务器的 XVC 功能。
这是调试选项,可搭配 xvc-servers 一起使用,以控制对 XVC 客户端公开的功能。当前,默认功能
包括 locking、status 和 state-aware,但在将来版本中可能添加其它功能。如果 xvc
version 设为 1.0,则该选项无效。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set xvc-servers 210203356596A:localhost:3000"
-e "set xvc-capabilities status,state-aware"
processor-debug-claim
自动申领所选器件类型,以阻止调试器使用这些类型。
该选项用于阻止 hw_server 调试器使用选定的器件类型进行调试。给予该选项的实参为位掩码。
默认情况下,hw_server 使用所有已知的器件类型进行调试。位编号含义
位 器件类型
0 Arm DAP
1 MPSoC
2 FPGA 或 ACAP
在如下情况下可适用该选项:当使用 xvc-servers 启动 XVC 服务器并且 XVC 客户端作为以上一个
或多个器件的调试器时,或者当 hw_server 连接到 XVC 服务器,且该服务器作为以上一个或多
个器件的调试器时。在这两种情况下,仅当使用锁定功能时,此设置才有效,因为这样即可在调试
器之间支持时间共享。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set processor-debug-claim 2"
jtag-poll-delay
此项表示延迟值(以 uS 为单位)。默认值为 50000。
该选项属于轮询选项,用于降低 JTAG 轮询频率。JTAG 轮询频率为 2 次 JTAG 轮询操作之间的最短
周期。默认值和最小值均为 50,000 uS。jtag-poll-delay 参数的实参是以 uS 为单位的数值。
help
显示 hw_server“e”选项
该选项用于显示 hw_server 的所有可用“e”选项。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e help
show-all
显示 hw_serv 中设置的所有通过的选项。
该选项用于显示 hw_server 的所有“e”选项设置。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e show-all
jtag-default-frequency 设置所有电缆的默认频率。
该选项用于设置 JTAG TCK 默认频率。jtag-default-frequency 参数是以 Hz 为单位的数
值。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set jtag-default-frequency 5000000"
jtag-port-filter
设置 JTAG 端口筛选。
该选项用于控制 JTAG 端口筛选。设置该选项后,hw_server 会忽略与筛选不匹配的所有 JTAG 端
口。此参数的实参为完整或部分端口标识组成的逗号分隔列表。端口标识是 <manufacturer>/
<productid>/<serial><port> 形式的字符串。当在端口标识字符串中可找到任意端口筛选工
具的字符串时,即表示筛选结果匹配。
当在同一个主机上运行 hw_server 的多个实例时,可使用此参数来指定应由 hw_server 处理的
电缆。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set jtag-port-filter Xilinx/DLC10/0000128f515601"
另一个示例是在端口 3122 上启动 hw_server 时筛选任意赛灵思 DLC9 或 DLC10 电缆:
hw_server -stcp::3122 -e "set jtag-port-filter DLC9,DLC10"
bscan-switch-user-mask 启用 bscan 切换。
该选项用于控制 bscan 切换检测。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set bscan-switch-user-mask <user-bit-mask>"
jtag-port-devices
设置 JTAG 端口器件列表。
该选项用于指定 JTAG 扫描链的器件静态列表。指定该选项后,hw_server 不会读取 IDCODE 寄
存器以检测扫描链上的器件。当扫描链包含不遵循 IEEE 1149.1 规范的器件时,适用该选项。给予
该参数的值为 IDCODE 值组成的逗号分隔列表,其中的值的顺序与扫描链上的器件顺序相同。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set jtag-port-devices 0xe970203f,0x03632093"
max-ir-length
启用 JTAG 链中的器件,这些器件的 ir 长度大于 64 位。
该选项用于启动 hw_server 并且能够启用大于 64 位的 ir 长度。此设置的默认值为 64。用户可为
JTAG 链中 ir 长度较宽(例如,93)的器件增大该值。请注意,增大该数值会导致器件发现流程变
慢,从而导致电缆接入速度变慢。因此,如果用户要增大该值,此设置仅适用于含大量器件且 ir
长度较长的系统。
在 hw_server 启动时指定该选项的方式如下:
hw_server -e "set max-ir-length 93"