MIPI SyS-T over STP

MIPI SyS-T 协议驱动程序可以与 STM 类设备一起使用,以生成标准化的跟踪流。 除了作为标准之外,它还提供更好的跟踪源识别和时间戳关联。

为了将 MIPI SyS-T 协议驱动程序与您的 STM 设备一起使用,首先,您需要 CONFIG_STM_PROTO_SYS_T。

现在,您可以通过在策略名称中指定,来选择要在为 STM 设备创建策略时使用的协议驱动程序

# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/

换句话说,策略名称格式扩展如下

<device_name>:<protocol_name>.<policy_name>

因此,对于英特尔 TH,它看起来像 “0-sth:p_sys-t.my-policy”。

如果省略协议名称,STM 类将选择首先加载的协议驱动程序。

您还可以通过以下方式仔细检查一切是否按预期工作

# cat /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/protocol p_sys-t

现在,对于 MIPI SyS-T 协议驱动程序,configfs 中的每个策略节点都会获得一些额外的属性,这些属性决定了特定于该协议的每个源的参数

# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default # ls /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default channels clocksync_interval do_len masters ts_interval uuid

这里最重要的是 “uuid”,它决定了将用于标记来自此源的所有数据的 UUID。 它在创建新节点时自动生成,但您可能需要更改它。

do_len 开启/关闭 MIPI SyS-T 消息头中的额外“有效负载长度”字段。 默认情况下它处于关闭状态,因为 STP 已经标记了消息边界。

ts_interval 和 clocksync_interval 确定在我们需要在消息头中包含协议(不是传输,也就是 STP)时间戳或发送 CLOCKSYNC 数据包之前,可以经过多少毫秒。

有关更多详细信息,请参见 ABI file testing/configfs-stp-policy-p_sys-t