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/PROCESSOR-SDK-AM57X:TI-RTOS SDK 05.01.00.11的第2层 PTP、具有 HSR/PRP SDK 01.00.04

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/765975/rtos-processor-sdk-am57x-layer-2-ptp-from-ti-rtos-sdk-05-01-00-11-with-hsr-prp-sdk-01-00-04

器件型号:PROCESSOR-SDK-AM57X

工具/软件:TI-RTOS

你好

我将 AM572x IDK 板与 TI-RTOS SDK 05.01.00.11和 HSR/PRP SDK 01.00.04搭配使用。 我成功修补了 TI-RTOS SDK 并编译了 HSR 和 PRP 示例(在"冗余"框中 ping 都正确)。

我需要使用 启用了 TI-RTOS Timesync 模块的 TI-RTOS SDK、但我还需要使用 HSR 和 PRP (可选择编译)及其 Timesync 模块(我只需要 PTP over raw 支持(第2层 PTP))。

正如我看到的、第2层 HSR/PRP PTP 和 TI-RTOS PTP 几乎是相同的。 我尝试用 TI-RTOS PTP 替换 HSR/PRP PTP:

  1. 我删除了 Timesync lib、ptpd init、并在 app.cfg 文件中的 Nimu_ICSS 之后添加了 ti.transport。Timesync 模块。
  2. 我手动修补在所有.c 和.h 文件中包含了 Timesync 头文件以使 PDK Timesync 路径。
  3. 我将 HSR/PRP SDK 中的 ICSS_Timesync_osal.c 文件添加到项目中以修复其编译。

但替换失败(我看到在 CCS 中、它在加载后仍然可以工作、但 UART 控制台在电路板启动后的一到两秒内中断、电路板 ping 不起作用)。

如何解决该问题并在项目中将 TI-RTOS Timesync 与 HSR/PRP 配合使用?

此致、
Alex

P.S. 应用 PDK 补丁后、我重建了 ICSS-EMAC、NIMU-ICSS 和 Timesync PDK 模块

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

    您是否曾尝试将 PTP 保留在 HSR/PRP 中? 是否可以在此处上传您的项目?

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

    您好、Garrett、

    很抱歉、回答很长、我需要修复其他功能。

    在这里、我使用 HSR SDK 和我的示例项目放置了2个存档:

    • 工作正常(示例包含 HSR/PRP SDK 中捆绑的 PTP)
    • 未使用*-not 曾工作过的7z (示例包含 PDK 1.0.12中的 PTP、您可以在我之前的文章中找到更多信息)

    e2e.ti.com/.../hsr_5F00_sdk_2D00_ti_2D00_archive_2D00_not_2D00_worked.7z

    e2e.ti.com/.../hsr_5F00_sdk_2D00_ti_2D00_archive_2D00_worked.7z

    我的示例工程位于两个存档的 custom_projects/prp_example_host 文件夹中。

    我需要保留 PDK Timesync 模块、因为我应用了很少所需的补丁、并且需要在冗余模式下(具有 PTP 同步)运行一个 PRU 对和其他 PRU 对-无需冗余(也具有 PTP 同步)。

    此致、
    Alex

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

    我将尝试构建您的项目、以查看我的设置中是否也出现 UART 和 ping 问题。

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

    Alex、

    我可以重现您观察到的 UART/ping 问题、并使用 PDK 的补丁程序修复: packages/ti\transles\Timesync/include\icss_timeSync.h

    ++ icss_timeSync.h
    @@-146、14 + 146、14 @@
    #define TIMESYNC_LATCH0_ISR_MASK 0x1000
    /*
    *@def TIMESYNC_TX_TS_ISR_MASK_P1
    -* PRU 事件26的中断屏蔽
    +* PRU 事件的中断屏蔽23.
    *
    -#define TIMESYNC_TX_TS_ISR_MASK_P1 (0x4000000)
    +#define TIMESYNC_TX_TS_ISR_MASK_P1 0x800000
    /**
    *@def TIMESYNC_TX_TS_ISR_MASK_P2
    -* PRU 事件27的中断屏蔽
    +* PRU 事件24的中断屏蔽
    *
    -#define TIMESYNC_TX_TS_ISR_MASK_P2 (0x80000)
    +#define TIMESYNC_TX_TS_ISR_MASK_P2 0x1000000

    /**
    *@def PTP_SYNC_MSG_ID

    此致、
    Garrett

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

    这对我来说很有用、谢谢。 i 补丁文件、重新构建 ICSS-EMAC、NIMU-ICSS 和 Timesync PDK 组件、适用于我

    此致、
    Alex