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.

[FAQ] [参考译文] 【常见问题解答】AM6xx:如何获取 TIFS Keywriter 日志

Guru**** 2560390 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1572273/faq-am6xx-how-to-get-the-tifs-keywriter-logs

器件型号:AM625


工具/软件:

Keywriter 是一款主要设计用于对密钥进行编程以及将器件从 HSFS 转换为 HSSE 的应用。

在密钥写入过程中、可能会遇到由 Keywriter 应用所用 UART 端口上的“Keywriter Debug Response“日志中的非零值反映的错误。 用户可以使用以下文档来解码此非零值、以了解故障原因:

https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/keywriter.html#otp-key-writer-error-codes

除了返回错误代码之外、TIFS Keywriter 还会转储日志、这通常可以更深入地了解故障原因。

此常见问题解答讨论了获取这些 TIFS Keywriter 日志的各种方法。

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

    获取 TIFS Keywriter 日志的各种方法如下:

    1) 从 TIFS Keywriter UART 端口获取日志

    TIFS Keywriter 使用专用 UART 端口来打印日志。 因此、只需连接到这个专用 UART 端口即可收集日志。

    以下文档描述了用于不同器件的确切 UART 端口:

    software-dl.ti.com/.../trace.html

    2) 从 Keywriter 应用 UART 端口获取日志

    除了在 UART 上打印日志外、TIFS Keywriter 还会将日志保存在存储器缓冲区中。 内存缓冲区中的这些日志以 ASCII 可打印字符的形式保存。

    因此、如果 TIFS Keywriter 用于日志记录的 UART 端口不可用、则可以从内存缓冲区读取日志并转储到 Keywriter 应用使用的同一 UART 端口上。

    以下文档中的“KeyWriter 固件跟踪存储器缓冲区“部分提供了存储器缓冲区位置和大小:

    software-dl.ti.com/.../trace.html

    例如、以下函数将存储器缓冲区读取为 AM64 器件的字符。  对于其他器件、 PTR SZ 需要根据 TISCI 文档中所述的器件特定存储器缓冲区位置和大小修改值。

    void dump_sysfw_logs()
    {
        uint8_t* ptr = (uint8_t*)0x4405F000;
        uint32_t sz = 0x1000;
    
        DebugP_log("\r\n>> Start of SYSFW logs...\r\n");
    
        while(sz)
        {
            DebugP_log("%c", *ptr);
            ptr++;
            sz--;
        }
    
        DebugP_log("\r\n>> End of SYSFW logs!!!\r\n");
    }

    对于故障分析、调用此函数的理想位置是在之后  Sciclient_service 在中呼叫  Keywriter_processKeyConfig 测量输出。