NXP MCU 技术论坛
直播中

张娟

7年用户 2080经验值
私信 关注
[问答]

是否必须更改任何其他定义才能使用SDMA3而不是SDMA1?


我尝试了 M7 SDK (cmsis_ecspi_sdma_loopback_transfer) 提供的 CMSIS 示例,它运行良好,利用 SPI2 和 SDMA1。由于 SDMA1 已被 Linux 使用,我想切换到为 M7 保留的 SDMA3。我尝试更改上述示例中的定义:
  • cmsis_ecspi_sdma_loopback_transfer.c中的 DRIVER_MASTER_SPI_DMA_BASE
  • RTE_Device.h中的 RTE_SPI2_DMA_TX_DMA_BASE 和 RTE_SPI2_DMA_RX_DMA_BASE
但是这个例子停止了工作。它完成 DRIVER_MASTER_SPI.Transfer 调用但从不执行传输。SPI 引脚上没有输出,并且从不调用 ECSPI_MasterSignalEvent_t。
是否可以将 SPI 与 SDMA3 一起使用?
我是否必须更改任何其他定义才能使用 SDMA3 而不是 SDMA1?
是否需要启用一些额外的时钟?
附言。我也尝试使用 SDMA2 并遇到了同样的问题。

更多回帖

发帖
×
20
完善资料,
赚取积分