我在 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