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.

[参考译文] TDA4VH-Q1:UDMA 链接

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1523105/tda4vh-q1-udma-linking

器件型号:TDA4VH-Q1
Thread 中讨论的其他器件:TDA4VH

工具/软件:

您好、

我将在 TDA4VH 平台(C7x_1内核)上使用 UDMA 和 DRU 通道进行数据传输。 我最初尝试使用 UDMA 链进行优化、但 DRU 不支持它。 现在我想使用 UDMA 链接实现类似的效果——触发一个通道,该通道通过参数集或 TR 描述符在内部处理多个传输,只需要一个 wait ()调用。 我在 PDK 路径(sdk_rtos/ti-processor-sdk-rtos-j784s4-evm-09_02_00_05/pdk_j784s4_09_02_00_30/packages/ti/drv/)下找不到这方面的示例。

我想知道、

1. UDMA 是否可以与 DRU 通道链接?
2.是否有示例代码显示此情况?


如果有任何示例代码、请提供给我、这将非常有帮助。



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

    尊敬的 Gautham:

    您是否意味着提交多个请求并等待所有请求完成? 这是指 DMA 链接吗? 这里的唯一区别是为"n"次传输生成一个中断、对吧?  

    此致、

    Brijesh

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

    您好、Brijesh、

    我期望的是提交一个请求、通过设置参数需要完成多个 DMA 通道中的所有数据传输、完成所有数据传输后调用一个 wait ()函数。 已经有可用的 DMA 通道、但传输是单独发生的、就像一个 DMA 通道传输发生在下一个 DMA 通道传输发生之后、同时 wait()函数也被多次调用一样。 我需要的是避免这种情况,并通过提交一个请求所有 DMA 通道数据的需要被传送,完成后一个 wait ()函数将被调用。 为此、如果存在任何示例代码、请提供该代码。

    注:我正在使用 DRU 通道。 支持这种 UDMA 链接吗?

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

    您好、

    但是、为什么要等待多个 DMA 通道完成呢? 我真的怀疑这是可能的。

    您可以向同一 DMA 信道提交多个请求并等待最后一个请求完成。 这需要对事件注册和 TR 准备进行一些更改。

    但我的问题是,即使您处理此信道的所有请求的完成,也没有太多的开销。 您能说明一下为什么只需要完成一次测试吗?

    此致、

    Brijesh

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

    您好、Brijesh、

    我的期望是, 提交一个请求(带有一些参数设置)应该完成所有的数据传输(例如5个传输)使用单个 DMA 通道。 因此、需要在 避免每次传输后等待、从而减少开销。 因此、目标是触发通过单个 UDMA 通道进行多次数据传输。  我在 SDK 中找不到上述代码的任何示例代码。 如果已提供、请告知我、或者文档中提供了此方面的任何参考资料。

    注:我正在使用 DRU 通道。  

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

    尊敬的 Gautham:

    不可以、SDK 中没有适用于此类用例的示例。 同样、开销只有5个 ISR、它仅发布信标。 这不应花费太多的 CPU 时间。  

    此致、

    Brijesh

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

    您好、Brijesh、

    我不是直接使用事件注册;而是依靠 wait()函数,通过访问环句柄来检索出队的原始 TR。 考虑到这种方法、我想了解是否仍然可以有效实现 UDMA 通道链接。

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

    尊敬的 Gautham:

    但这就像忙碌的等待,将花费更多的 CPU 时间等待,在这种情况下,我会建议使用事件注册.  

    此致、

    Brijesh