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.

[参考译文] PROCESSOR-SDK-AM69:支持 GPIO 中断的 SMP_Affinity (也需要 AM62上的功能)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1462553/processor-sdk-am69-support-for-smp_affinity-for-gpio-interrupts-need-function-on-am62-as-well

器件型号:PROCESSOR-SDK-AM69
Thread 中讨论的其他器件:AM69

工具/软件:

您好:

AM69的 GPIO 中断的 SMP_Affinity 设置是否有任何状态?  我需要对 AM62使用相同的功能。

谢谢、

Victor

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

    您好、Victor、

    我没有  AM69上的 SMP_Affinity 的状态更新。 我将添加 JIRA 票证以包含 AM62。 由于它们使用相同的驱动器、因此应该是1:1的变化。

    此致、
    Jared

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

    您好、Victor、

    此功能不在我们的路线图中。 此功能有多必要?

    你想用它实现什么?

    此致、
    Jared

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

    我的系统具有最高优先级的2KHz GPIO 中断。    由于我们的所有中断现在都由内核0处理、因此我们希望将这个中断1移动到内核2、因为内核当前没有处理任何中断。

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

    您好、Victor、

    是否可以将其他中断移动到内核2?

    此外、您是否看到中断导致的延迟/抖动问题?

    此致、
    Jared

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

    您好:

    我们的系统有两个高优先级 GPIO 触发中断。

    一个中断以2KHz 运行、处理该中断平均需要250到300个用例。  这不会留下太多时间来处理其他中断或线程。  会看到延迟/抖动。  

    如果不使用 DMA、则另一个中断以8kHz 的频率运行。 它使用 OSPI 总线从 ASIC 读入数据。  在测试模式下、当另一个中断不起作用时、由于其他中断仍在内核0上运行、我仍然连续一段时间看到数据损坏。  如果2KHz 中断正在运行、则此8kHz 中断将不起作用。  我正在尝试获得这个8kHz 中断以使用 DMA。  这将使中断速率降至1KHz。  但到目前为止,我得到了损坏的数据。

    我必须将这两个中断都移动到内核1、一个移动到内核2、这一点很重要。  这两个内核都只有 Linux 系统中断。

    将非 GPIO 中断从内核0移动到其他内核不会解决问题、因为我的两个中断无法一起共享内核0。

    谢谢、

    Victor

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

    您好、Victor、

    R5是否可以处理其中一个中断?

    另一个问题是、2KHz 线程中的大部分计算是否可以由主线程处理、而不是在中断中处理?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好:
    我们已经考虑过这一选择、但由于几个原因、这种选择是不可行的。
    2KHz 中断使用 GPMC 接口。  我们认为 R5无法访问该控制器。 我们认为 R5无法运行软件。  我们确实希望将此中断移离内核0。
    我们为另一个应用使用了一个 R5。  我们可以使用第二个 R5来实现8Hz 中断、但我们无法确定 R5是否可以访问 OSPI 控制器。  但是、我们确实希望为另一个应用保留第二个 R5。
    因此、能够将 GPIO 中断移动到另一个内核可以解决我们遇到的两个问题。
    2KHz 花费大部分时间通过 GPMC 从 ASIC 读取数据并将数据放入一个结构中。 中断将唤醒线程以处理该数据。  这是我们在过去25年中实施的面包和黄油、但我们使用 Linux 的第一个实施除外。  以前的系统使用了不同的操作系统、我们能够将同一 GPIO 中断移动到不同的内核。
    谢谢、
    Victor
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Victor、

    我明白了。 我会将此信息转发给开发团队、如果 JIRA TT 的状态有任何变化、我会更新您。

    此致、
    Jared

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

    我对8kHz 中断做了更多的工作、似乎我可能会在使其正常运行方面遇到问题。  这个8kHz 中断在 QSPI 模式下使用 OSPI 从我们的 ASIC 读取数据。   这不适用于内核0。  如果我可以将其移至另一个核心、则可能有效。  但这样做将需要在 QSPI 上等待数据传输的27 μ s 时间、这是一个巨大的资源浪费。

    我还尝试使用 DMA 拉入数据。  但 DMA 没有循环模式。  似乎每次以8kHz 的频率启动 DMA 都会导致数据损坏。

    如果我可以将其移至唤醒 R5、因为它仍然可用、我会这样做。  但我需要一个 GPIO 触发中断、唤醒 R5似乎没有此类功能。  至于 MCU R5、它已完全用于以200Hz 的频率处理数据、并且每个中断只有40usec 的空闲时间窗口、没有足够的时间处理8kHz 中断。  

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

    您好、Victor、

    此主题开始深入探讨 SMP_Affinity 问题以外的其他问题。 请打开另一个有关新主题的 E2E 主题。

    如果 SMP_Affinity JIRA 票证有任何更改、我将更新此主题。

    此致、
    Jared

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

    您好、Victor、

    已创建市场营销要求、但我不能预见在不久的将来会将此功能添加到发行版中。 如果将其添加到发行版中、则会在发行说明中注明。

    道歉、
    Jared

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

    没关系。  我让它正常工作。

    谢谢、

    Victor