第 10 章 - 客户用户事件

本章介绍如何为此类事件创建用户定义的事件以及自定义图标和信息字段。 本章包括以下各节:

插入用户定义的事件

ThreadX 为开发人员提供了记录自己的用户定义的事件的功能,并提供了可通过 TraceX 以图形方式查看的更多有用信息。 用户定义的事件编号的范围介于

TX_TRACE_USER_EVENT_START (4096)(含)到 TX_TRACE_USER_EVENT_END (65535)(含)之间。 可以通过第 5 章中定义的 tx_trace_user_event_insert 调用在跟踪缓冲区中放置事件。 下面的示例调用将两个用户定义的事件插入到目标上的当前跟踪缓冲区中,即用户定义的事件 4096 和事件 4098:

tx_trace_user_event_insert(4096, 1, 2, 3, 4);
tx_trace_user_event_insert(4098,0x100,0x200,0x300,0x400);

用户定义的事件的默认显示

User-defined event icon

默认情况下,TraceX 会使用默认用户定义事件图标(如第 6 章中所述)来显示所有用户事件。 图 28 显示了事件 452 和 453 的默认用户定义事件图标,而这两个事件在前文的 tx_trace_user_event_insert 示例中通过调用被放入了事件缓冲区

Screenshot of the default display of user-defined events. 图 28

图中还提供了用户定义事件的详细信息。 图 28 显示了事件 452 的详细事件信息,该事件的事件编号为 4096,并显示指定的四个信息字段。

Screenshot of the detailed display of user-defined events. 图 29

自定义用户定义的事件图标

TraceX 还为用户提供创建自定义的用户定义的事件图标和自定义信息字段标签的功能。 此功能通过将事件图标规范添加到 tracex_custom.trxc 配置文件来实现。 该文件位于 CustomEvents 的 TraceX 安装目录(默认为 c:\Azure_RTOS\TraceX)的 CustomEvents 子目录中。 图 30 显示了一个示例目录路径。

Screenshot of an example directory path. 图 30

tracex_custom.trxc 自定义事件配置文件是一个简单 ASCII 文本文件,其中包含零个或多个自定义事件定义。 该文件的格式如下:

//Comments
**Start **
[custom event definition(s)] **End **

“Start”和“End”之间的每一行用于定义单个自定义事件。 TraceX 提供该文件的模板版本,其中未定义任何自定义事件(“Start”标签和“End”标签之间没有任何内容)。 自定义事件定义的格式如下所示:

number, name, abbreviation, top_color, bottom_color, label1, label2, label2, label4

其中:

  • number:定义用户定义的事件编号,介于 4096(含)和 65535(含)之间。
  • name:定义用户定义的事件的逻辑名称。
  • abbreviation:定义用户定义的事件的缩写,由两个字母组成。
  • top_color:定义图标上半部分的 RGB 值,这是一个用括号括起来的三位数字。 一些典型的 RGB 定义如下所示:
    • 黑色 = (0,0,0)
    • 白色 = (255,255,255)
    • 红色 = (255,0,0)
    • 绿色 = (0,255,0)
    • 绿色 = (0,0,255)
    • 黄色 = (255,255,0)
    • 蓝绿色 = (0,255,255)
    • 洋红色 = (255,0,255)
      通过使用 RBG 规范,用户可将多种多样的颜色用于每个用户定义的图标。 有关 RBG 颜色定义的详细信息,请参阅: https://en.wikipedia.org/wiki/RGB#Digital_representations
  • botton_color:定义图标下半部分的 RGB 值,这是一个用括号括起来的三位数字。
  • label1:tx_trace_user_event_insert调用中指定的 info_field_1 的标签。
  • label2:tx_trace_user_event_insert 调用中指定的 info_field_2 的标签。
  • label3:tx_trace_user_event_insert 调用中指定的 info_field_3 的标签。
  • label4:tx_trace_user_event_insert 调用中指定的 info_field_4 的标签。

图 10.4 中显示了本章中使用的两个用户定义的事件的示例定义。 事件 4096 的第一个定义位于 tracex_custom.trxc 文件的第 5 行。 此定义为用户定义的事件 4096 指定了名称 First_User_Event,,指定了由两个字母组成的缩写 FE,将图标的上半部分设为红色,将图标的下半部分设为绿色,并将信息字段命名为 First_Info1、First_Info2、First_Info3 和 First_Info4。 同样,用户定义的事件 4098 在 tracex_custom.trxc 的第 6 行定义。

Screenshot of the example definitions for the user-defined events. 图 31

由于 tracex_custom.trxc 文件由 TraceX 在初始化过程中读取,因此必须先退出并重新启动 TraceX,然后自定义图标定义才会生效。 图 32 显示了用户定义的事件 452 和 453 的 TraceX 显示,其中带有 tracex_custom.trxc 中定义的自定义事件图标。

Screenshot of the TraceX display of user defined events with the custom event icons. 图 32

当你通过双击、鼠标指针悬停或单击当前事件按钮来选择事件时,将显示自定义事件定义中的其他信息。 图 33 显示了双击以选择事件 452 时出现的信息。 事件名称和信息字段全都与添加到 tracex_custom.trxc 的示例定义相匹配。

Screenshot of the double-click selection on an event. 图 33