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.

[参考译文] AM6442:PRU 到 R5F 主机中断性能

Guru**** 2393725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1484369/am6442-pru-to-r5f-host-interrupt-performace

器件型号:AM6442
主题中讨论的其他器件:DP83869

工具与软件:

我正在验证 PRU 到 R5F 主机中断的通信。

在我的设置中、我生成一个从 PRU 到 R5F 的 INT 并测量响应时间。

这是一个非常简洁的设置、没有其他应用程序在运行(在相同的内核上):  

  1. PRU 事件编号(事件#17)->
  2. -> pr0_pru_mst_intr[1]_intr_req (event#17)->
  3. ->通道#3 ->
  4. ->主机中断#3 ->
  5. ->主机中断2到9从 PRU_ICSSG 导出并映射到器件级中断控制器->
  6. -> PRU_ICSSG0_PR1_HOST_INTR_REQ_1 -> CMPEVENT_INTRTR0_IN_1 (ID#1)->
  7. -> PRU_ICSSG0_PR1_HOST_INTR_pend_1 (INT#121)

在 PRU 上、我在生成 INT 时切换调试 I/O、并在中断服务例程内的 R5F 上执行相同的操作。

我遇到的是460ns 至560ns 的非确定性延迟。

这种高延迟的原因可能是什么?

什么可能导致随机响应时间?

有 什么方法可以解决它?

PRU 代码:

set GPIO_OUT, GPIO_OUT, PIN_DEBUG0  ; set del pin di debug
LDI     INT_REQ, prk_pru_mst_intr1_intr_req ; prk_pru_mst_intr[1]_intr_req
clr GPIO_OUT, GPIO_OUT, PIN_DEBUG0  ; clear del pin di debug

映射:

R5F 主机中断服务例程

/* PRU FW IRQ handler */
void pruIrqHandler(void *args)
{
    GPIO_pinWriteHigh(CONFIG_GPIO23_CODE_READER_0_TRIGGER_PIN_baseAddr, CONFIG_GPIO23_CODE_READER_0_TRIGGER_PIN);
...

配置:

#define ICSSG_PRU_INT_NUM       ( CSLR_R5FSS0_CORE0_INTR_PRU_ICSSG0_PR1_HOST_INTR_PEND_1 )  // VIM interrupt number (INT#121)
...
    // Register & enable ICSSG PRU FW interrupt
    HwiP_Params_init(&hwiParams);
    hwiParams.intNum      = ICSSG_PRU_INT_NUM;
    hwiParams.callback    = &pruIrqHandler;
    hwiParams.args        = 0;
    hwiParams.priority    = 0; // 0h = Highest priority
    hwiParams.isPulse     = FALSE;
    hwiParams.isFIQ       = FALSE;
    status              = HwiP_construct(&hwiObj, &hwiParams);
    DebugP_assert(status == SystemP_SUCCESS);

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

    您好、Francesco、

    指派的专家在本周和下周不在办公室。 对该线程的响应将被延迟。

    感谢您的耐心。

    此致、

    Tushar

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

    您好、 Francesco、

    感谢您的详细解释。

    只是想检查一下您是否仍然面临此问题、或者您是否能够弄清它?

    此致、

    Nitika

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

    不、很遗憾、我还不了解延迟的原因。 至于它似乎是随机的这一事实,它似乎与在不同核心上运行的其他应用程序有关,但我不知道如何干预以消除或减少响应时间的随机性。

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

    您好、Francesco、  

    它似乎与在不同内核上运行的其它应用程序有关

    您在系统中的其他内核上运行哪些应用。

    我将尝试在设置中重现此问题并进行研究。

    此外、中断生成延迟的 KPI 是什么?  

    此致、

    Nitika

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

    我将结合使用工业通信 SDK 9.2.0.15及其 MCU SDK。 以下是我的测试和验证项目的设置:

    • xmark_a53ss0-0 -尚未在我的应用程序中使用、但使用一个 TI 示例进行配置:

    ti/ind_comms_sdk_am64x_09_02_00_15/mcu_plus_sdk/examples/kernel/freertos/posix_demo/am64x-evm/a53ss0-0_freertos-smp

    • r5fss0-0 -尚未在我的应用程序中使用、但配置了一个 TI 示例:

    ti/ind_comms_sdk_am64x_09_02_00_15/mcu_plus_sdk/examples/networking/lwip/cpsw_lwip_https (CPSW/DP83867)

    • r5fss0-1 -尚未在我的应用程序中使用、但配置了一个 TI 示例:

    ti/ind_comms_sdk_am64x_09_02_00_15/examples/industrial_comms/ethernetip_adapter_demo (ICSSG1/MII/DP83869_0+DP83869_1)

    • r5fss1-0 -尚未在我的应用程序中使用-未运行

    • r5fss1-1 - 关于 本例的我的测试应用程序

    • icssg0-rtupru0 -尚未在我的应用程序中使用-未运行

    • icssg0-rtupru1 -由我的应用程序使用、但仅使用 ICSSG0内部的资源

    • icssg0-pru0 -尚未在我的应用程序中使用-未运行

    • icssg0-pru1 -我的测试应用程序 关于 本例

    • xmark_icssg0-txpru0 -尚未在我的应用程序中使用-未运行

    • xmark_icssg0-txpru1 -由我的应用程序使用、但仅使用 ICSSG0内部的资源

    当我停止在 r5fss0-0上运行的 TI 示例时、中断延迟会变得更加稳定。

    关于 KPI、我能够在数百纳秒内通过 XFR2VBUS 从 MSRAM 传输32个字节、因此我认为可以合理地期望中断响应时间具有相当或可能更低的延迟。

    这些是我的怀疑:

      GPIO_pinWriteHigh 引入的典型 API/ soc 延迟是多少?

    这是否是 R5管理的引脚造成的测量误差?

    如果、不:

    从第1)点到第7)点引入的 soc 信号延迟是多少?

     VIM/Hwip_* API 的延迟是多少?

    R5内核之间共享哪些中断处理资源?

    最后、 使用 VIM/  Hwip_* API 进行的 int 管理是否具有确定性?

    谢谢。 F.

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

    您好、Francesco、

    我已经将我们的 RTOS 中断专家添加到该线程中、以获取有关您的问题的更多评论。 他们目前不在办公室、请允许他们留出一些时间与您联系。

    此致、

    Nitika