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.

[参考译文] AM5728:从 edma3init 获取 DSP1 EDMA 的句柄

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1158229/am5728-getting-handle-for-dsp1-edma-from-edma3init

器件型号:AM5728

我在 AM5728的 DSP1上使用 MCASP2。

我正在尝试将 EDMA 配置为此 MCAASP 端口上的接收和发送。

要配置 MCASP2、我使用属于 AM5728 PDK 的芯片支持库、而不是 MCASP 驱动程序库。 这意味着我必须自己配置 EDMA。 要设置 EDMA、我将使用 EDMA 驱动程序库。

AM5728具有多个 EDMA 模块、我想使用 DSP1中的 EDMA 模块。

为了设置 EDMA 传输、我从驱动程序库调用 EDMA3_DRV_getPaRAM、EDMA3_DRV_requestChannel、EDMA3_DRV_linkChannel 等函数。

提供给 EDMA3_DRV_*函数的第一个参数是 EDMA 模块的句柄。

问题是:在 AM5728上、如何获取 DSP1中 EDMA 模块的句柄?

目前、我在旧的66AK2G SOC 上非常好地运行了该 MCASP/EDMA 设置、我将其移植到 AM5728。

在66AK2G 代码中,在程序启动时,我从名为 edma3init 的 EDMA 驱动程序库调用一个函数,此函数 edma3init 返回 EDMA3_DRV_*函数中使用的 EDMA 模块句柄。 edma3init 最终调用 EDMA3_DRV_open 以获取句柄。

edma3init 的第一个参数是标识要使用的 DMA 模块的 ID。 对于66AK2G、我认为有两个 DMA 模块。
我认为我没有找到用于参数1的任何常量,因此我只需将0传递给 edma3init 函数,所有内容似乎都可以正常工作。

不清楚要使用 DSP1 EDMA 传递给 edma3init 的 ID 值,我不确定只能传递0即可获取 DSP1 EDMA 模块。

我正在使用适用于 RTOS 的 Processor SDK 06_03_00_106 (software-dl.ti.com/.../index.html)。

提前感谢、

sjf