This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/EK-TM4C1294XL:调试分析器需要 UIA 标头二进制代码来生成实时状态数据

Guru**** 2465890 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/662797/rtos-ek-tm4c1294xl-need-uia-header-binary-codes-for-debug-analyzer-to-produce-live-status-data

器件型号:EK-TM4C1294XL

工具/软件:TI-RTOS

您好!

最近发布此论坛 更新了 LoggerStreamer 2应用程序缓冲区优先级和 Exchange 函数处理的程序代码、并将这些代码添加到 UART0中。   诊断的日志记录设置选择;(任务加载/ Hwi/Swi/执行) 事件似乎 只会增加或减少  通过 UART0流式传输 到虚拟 COM 端口的二进制数据数量。  与 CPU 加载和执行图一样、RTOS 分析器实时会话选项卡保持空白。   预计会出现问题:"是 的、连接的两端 COM 端口波特率 相同、115200bps。"  

了解作为    UIA 标头 (协议)输出的二进制代码非常重要、以确认应用代码实际工作正常。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以查看 UIAPPAPE.XDC 以获取 UIAPPAPPAPPULKE.XDC 的解码。
    您可以查看 EventHr.XDC 以获取单个日志记录标题的解码。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Todd、

    我不想解码4 DWORD 标头、但通过该标头似乎不包含的重复唯一签名字节来标识每一行。 由于解码器无法轻松地将 UIA 标头数据包灌入重复且独特的数据流同步字节/秒、因此实时会话可能会丢弃数据包 UIA 标头似乎所做的是对日志数据进行格式化、并根据记录的事件日志随机更改标头中的二进制数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    缓冲区的格式如下

    UIAPIT_HDR
    EVENT_HDR +日志记录
    EVENT_HDR +日志记录
    EVENT_HDR +日志记录
    (笑声)

    注:日志记录不包括 ASCII。 它只是值和指针。 例如、如果您确实这么做了
    Log_Print1 (Diags_User1、"%s"示例已启动。"、"Stairstep");
    日志记录会有一个指向"%s"示例的指针启动。" string 和第一个参数是"Stairstep"地址的指针。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正是我的点、UIA 标头是不带重复同步字节的格式 、例如0x1ED8或其他一些代码模式。 LS2 UART0缓冲数据 通过  Monitor 打印为 ASCII 数据、具有 许多可识别的高阶 字符 、类似于 UARTIdleLogger 示例生成的字符、但 分析仪 实时 会话保持空白。  

     通过 Monitor 打印时、它们看起来像颠倒的方向、 生成分析仪实时会话数据。 使用 LoggerStreamer 2无法确认相同的情况、因为无论 日志更新频率如何、实时会话窗口中都不会显示任何内容。 这似乎确认 了 UART0在有意降低时不会对调试分析器进行 SWing。  

    正因为 LoggerStream2可能会传递 System_printf()日志数据 ,而这些数据不是最终的取证证据,所以它可以通过 UART0或任何其他传输执行相同的操作。  也许 是一个字符转换问题、但  使用(char)对 缓冲区内容进行 PRIME / Exchange 的存储阵列进行间接存储器寻址时不应出现这种问题。  也许 LoggerStreamer2诊断记录器 UIA 标头的格式不正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    UIAPIT_HDR
    EVENT_HDR +日志记录
    EVENT_HDR +日志记录
    EVENT_HDR +日志记录

    我对两个 XDC 模块的读取是 UIA 标头是实际日志记录的格式、它不是标识符。 UIA 文本在看似是数据交换的(协议)时错误地将其称为标头。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    系统分析仪会查找有效的 UIAPPAPCet 接头以开始解码。

    您想要回答什么问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有效 UIA 数据包 报头的前导码或特定同步字节/秒中包含什么十六进制字符? UIA 报头代码 似乎是日志数据的格式器、而不是静态报头数据包标识符。 当 RTSC LS2文档 声明 添加了 UIA 耳戴式设备时 、这听起来好像标头只是 一个通用数据包标识符或签名。  

    请注意 显示了很多0xf8、0x88、但这可能是 FIFO 块。  一个想法是 LS2 UIA 标头格式可能不 会合并到 RTOS 日志数据中、或者只是错误的。 如果 UIA 报头或日志协议 没有同步前导码和/或后端码,有人会如何知道? 只有 UIA 软件设计人员才能对 协议的缓冲区故障进行故障排除、而其他人都留下了划痕。

    这是任务/CPU 负载记录、二进制数据打印缓慢。 执行 日志 记录 Hwi/SWI 打印 会迅速淹没视图窗口。  但是、无论  通过哪种方式、Live Session View 窗口都保持空白。