跳转到内容

OSEK OS 跟踪

OSEK OS 跟踪是一项强大的功能,允许您通过外部接口实时获取 OSEK OS 的运行状态,并将其转换为可视化的图形界面。

NOTE

此功能要求 OS 提供相应的 ORTI 文件,在相应的 HOOK 中插入相关代码以记录相关信息,然后通过数据接口将数据传输到 EcuBus-Pro。

导入 ORTI 文件

通过点击 Others->Database->Add OS(ORTI) 导入 ORTI 文件。 您也可以查看已导入的 ORTI 文件。 orti

配置 ORTI

NOTE

导入 ORTI 文件后,仍允许用户手动修改配置信息。

成功导入 ORTI 文件后,您可以看到从 ORTI 文件解析出的配置信息。

任务/中断服务程序

  1. 设置名称
  2. 设置实际的 CPU 运行频率(取决于您的时间戳格式)。 如果时间戳已经是微秒单位,CPU 频率可以设为 1。
  3. 设置对象颜色
  4. 设置周期性任务的理论激活间隔(激活间隔,以微秒为单位,仅适用于任务)

NOTE

激活间隔(微秒)只能为任务类型配置。 中断服务程序不支持此配置项。

task

资源

resource

服务

service

钩子

hook

连接器配置

连接器决定了您获取 TRACE 数据的位置。 当前支持以下方法:

串口

通过串口实时接收 OS Trace 数据。

配置项:

  • 设备:选择串口设备(例如 COM1、/dev/ttyUSB0 等)
  • 波特率:波特率(例如 115200、921600 等)
  • 数据位:数据位(5、6、7、8)
  • 停止位:停止位(1、1.5、2)
  • 校验位:校验位(无、偶校验、奇校验、标记校验、空格校验)

数据格式: 16 字节二进制数据(小端序)

字段长度描述
帧头4 字节帧头(05D5C5B5A)
时间戳4 字节时间戳(最低有效位)
类型 ID2 字节对象 ID(最低有效位)
类型状态2 字节状态/参数(最低有效位)
索引1 字节事件索引(0-255 循环)
类型1 字节事件类型
核心 ID1 字节核心 ID
CRC8/保留1 字节CRC8 校验和或保留字节

NOTE

  • 总帧长度固定为 16 字节
  • CRC8 校验和是从数据部分的 11 个字节计算得出(不包括帧头和 CRC 字节本身,包括:索引、时间戳、类型、类型 ID、类型状态、核心 ID)
  • 当启用 CRC 校验时,最后一个字节用作 CRC8 校验和
  • 当禁用 CRC 校验时,最后一个字节用作保留字节,系统通过检查类型字段(有效值:0-5)来验证帧的有效性

serialPort

二进制文件

从二进制文件读取 OS Trace 数据。 数据格式与串口相同(16 字节二进制数据)。

配置项:

  • 文件:选择二进制文件路径(支持相对路径)

数据格式: 与串口相同,16 字节二进制数据

CSV 文件

从 CSV 文件读取 OS Trace 数据。

配置项:

  • 文件:选择 CSV 文件路径(支持相对路径)

数据格式: CSV 格式,每行一个事件

NOTE

CSV 文件格式为:时间戳,类型,ID,状态。 不允许有表头,时间戳单位为 tick。

csv

1000,1,0,0
1500,1,0,1
2000,2,1,0

字段描述:

  • 时间戳:时间戳(tick)
  • 类型:事件类型
  • ID:对象 ID
  • 状态:状态值

CAN/以太网

NOTE

CAN 和以太网接口尚未实现。 敬请关注。

记录文件

记录文件决定 TRACE 数据写入本地文件的位置。 写入的数据格式为 CSV 格式。

NOTE

每行一个事件,格式:时间戳,类型,ID,状态。 时间戳单位为 tick。

recordFile

保存

配置 ORTI 相关信息后,点击右上角的保存按钮以保存 ORTI 配置信息。

查看 OS 跟踪数据和自动生成的系统变量

可以通过 Trace 窗口查看 OS 发送的数据。

trace

配置 ORTI 后,ORTI 数据将自动生成为内置系统变量,可通过 Others->Variables->System Variables 查看。

var

查看 OS 统计信息

可通过 Others->Os Info->[对应 ORTI 文件名] Statistics 查看 OS 统计信息。

statistics

您可以使用光标检查图表中的时间戳,或查看两个光标之间的差异。

查看 OS 时间线

可通过 Others->Os Info->[对应 ORTI 文件名] Timeline 查看 OS 时间线。

时间线使用 pixi.js 绘制,并通过 GPU 加速。

NOTE

目前,时间线中只能查看任务和 ISR。

timeline

实时跟踪

支持在应用程序运行时进行实时跟踪。

realTime

离线分析

您可以打开先前保存的 CSV 记录文件,在离线模式下查看 OS 时间线。 offline

NOTE

如果启用了 Link Trace 且跟踪窗口已打开,离线事件也会附加到跟踪窗口中。

链接跟踪

链接跟踪可以将时间线中的事件与跟踪窗口中的事件关联起来,使用户更容易查看事件之间的关系。 link

自定义查看特定变量信息

用户可以选择 LINE、Gauge、Data 等组件,根据需要显示这些变量。

例如:如果用户想要查看 5msTask 和 SystemTick ISR 的实时运行状态,点击 Home->Graph->Line,然后点击顶部的 Add VariablesaddVar

选择 5msTask->StatusSystemTick ISR->Status,然后点击 Add 即可查看 5msTask 和 SystemTick ISR 的实时运行状态。 addLine

结果预览: demo