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>

因此,对于 Intel 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 文件 testing/configfs-stp-policy-p_sys-t