hsi::get_nodes - 2022.1 Chinese

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 简体中文

描述

获取子节点列表。

语法

get_nodes [-regexp] [-filter <arg>] [-of_objects <args>] [-quiet] [-verbose] [<patterns>...] 

返回

节点对象。如果该命令失败,则不返回任何结果。

用法

名称 描述
[-regexp] 模式为正则表达式。
[-filter] 使用表达式筛选列表
[-of_objects] 获取下列类型的“node”对象:“driver sw_proc os node”。
[-quiet] 忽略命令错误
[-verbose] 命令执行期间暂挂消息限制
[<patterns>] 根据模式匹配单元名称;默认设置:*

类别

软件

描述

获取当前软件设计的驱动程序、操作系统或节点中的节点列表。

节点中可包含子节点。

实参

-regexp -(可选)指定以正则表达式方式编写搜索 <patterns>。使用该实参时,搜索 <patterns> 和 -filter 表达式都必须以正则表达式方式来编写。赛灵思正则表达式 Tcl 命令始终锚定到搜索字符串开始位置。您可在搜索字符串开始或结束处添加 .* 来拓宽搜索范围,以包含子字符串。如需获取正则表达式语法相关帮助信息,请参阅该网页
注释: Tcl 内置命令 regexp 不予锚定,充当标准 Tcl 命令来使用。如需了解更多信息,请参阅该网页

-filter <args> -(可选)使用指定表达式来筛选结果列表。-filter 实参会根据对象的属性值来筛选返回的对象列表。您可使用 report_propertylist_property 命令来查找对象上的属性。

使用引号将筛选搜索模式括起,可以避免对信号线、管脚或单元名称中可能出现的特殊字符或者其它属性进行转义。字符串匹配区分大小写,并且始终锚定到搜索字符串的开始和结束位置。在搜索字符串的开始或结束位置,可以使用通配符字符 * 来拓宽搜索范围,以包含属性值的子字符串。
注释: 如果在对象上存在指定的属性,并且指定的模式与该对象上的属性值相匹配,那么筛选会返回该对象。对于 * 通配符字符,它与含已定义的值 "" 的属性相匹配。

为便于字符串比较,在筛选表达式中可使用下列特定运算符:equal (==)、not-equal (!=)、match (=~) 和 not-match (!~)。数字比较运算符 <><=>= 同样可供使用。通过 ANDOR&&||)即可将多个筛选表达式连接在一起。

以下命令用于获取节点名称与 NAME 和 PARENT 相匹配的节点:
 get_nodes -filter {NAME==clkc && PARENT == ps7_slcr_0}

-of_objects <arg>:(可选)获取下列类型的“node”对象:“sw_driver”、“sw_os”、“sw_proc”或“sw_node”。

注释: -of_objects 选项要求使用 get_* 命令(如 get_nodes)指定对象,而不是按名称来指定对象。此外,-of_objects 不得搭配搜索 <pattern> 一起使用。
-quiet -(可选)以静默方式执行命令,不返回来自该命令的任何消息。此命令还会返回 TCL_OK,忽略执行期间遇到的所有错误。
注释: 启动该命令时,会返回命令行上遇到的任何错误。仅捕获该命令内部发生的错误。
-verbose -(可选)暂时改写任何消息限制,并返回来自该命令的所有消息。
注释: 可使用 set_msg_config 命令定义消息限制。

patterns:(可选)将软件设计管脚与指定模式相匹配。默认模式为通配符 `*`,用于获取当前 IP 子系统设计内的所有单元的列表。您可指定多个模式,根据不同搜索条件来查找多个单元。

注释: 您必须使用括号 {} 将多个搜索模式括起,表示此列表是单个元素。

示例

以下示例可用于获取在软件设计中包含指定驱动程序的节点列表:

hsi::get_nodes -of_objects [get_drivers ps7_uart_0]

以下示例用于获取操作系统的所有节点的列表:

hsi::get_nodes -of_objects [get_os]