工具与软件:
如上所述、我想知道最多可以配置多少个 PKTDMA?
如果我想要3个带有 PKTDMA 的 UART 和1个带有 PKTDMA 的 SPI、可以吗?
谢谢!
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.
工具与软件:
如上所述、我想知道最多可以配置多少个 PKTDMA?
如果我想要3个带有 PKTDMA 的 UART 和1个带有 PKTDMA 的 SPI、可以吗?
谢谢!
您好!
好的、让我来描述一下这个过程。
如前一封电子邮件所述、我会根据您的建议(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485815/am6421-bcdma-and-pktdma-configuration-problem/5711608#5711608)尝试配置1BCDMA 和1UART PKTDMA。 和成功。
但是、在 我使用 PKTDMA(添加另一个 UART 后、完全2个 PKTDMA 和1个 BCDMA)、如下所示:
当我运行它时、出现与开始时相同的现象、如下所示:
您能帮我重现并找到根本原因吗?
谢谢!
您好、
我找到了问题的根本原因、生成的代码导致了问题。
我已经在内部提出了错误来修复这个问题在 MCU+SDK ..
在生成的代码中、对于两个 UART DMA 通道配置、PKTDMA 即时应 相同。
但在这里生成的代码会创建两个 PKTDMA 实例、这会产生问题。
要解决此问题、请按照以下步骤操作:
1. include.h 文件和 extern 变量如下,用于修复编译器问题。
#include <drivers/uart/v0/lld/dma/udma/uart_dma_udma.h> extern UART_UdmaChConfig gUartUdmaChConfig[CONFIG_UART_NUM_DMA_INSTANCES];
2.接下来,在驱动程序打开前,添加下面的代码。
gUartUdmaChConfig[1].drvHandle = &gUdmaDrvObj[0];
3.编译代码并从 CCS 中加载
添加这些更改后、如果问题仍然存在、请告知我。
#include <drivers/uart/v0/lld/dma/udma/uart_dma_udma.h> extern UART_UdmaChConfig gUartUdmaChConfig[CONFIG_UART_NUM_DMA_INSTANCES]; gUartUdmaChConfig[1].drvHandle = &gUdmaDrvObj[0];
此致、
Anil。