Tool/software:
As mentioned above, I would like to know how many PKTDMA can be configuration at most?
If I want 3 UART with PKTDMA and one SPI with PKTDMA, is it OK?
Thank you!
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.
Hello,
As per the SOC, you can configure 3 UART DMA and 1 SPI DMA channels and there are no issues.
I suspect this is an issue with software and I need to reproduce the issue at my side.
Can you please share any steps to reproduce the issue on my side ?
Regards,
Anil.
Hi,
OK, Let me describe the process.
As previous email we discussed, I try to configure the 1BCDMA and 1UART PKTDMA according to your suggestion (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485815/am6421-bcdma-and-pktdma-configuration-problem/5711608#5711608). And it succeed.
However, after I add another UART with PKTDMA(totally 2 PKTDMA and 1 BCDMA), shown as follows:
when I run it, the same phenomenon as the beginning shown as follows:
so can you help me reproduce it and find the root reason.
thank you!
Hello ,
Thanks for the sharing details , I can try to reproduce the issue at my side and let you know the Results .
Regards ,
Anil.
Hello Zekun,
As I internally talked with you, and it is ok to take some more time to reproduce the issue at my side.
The customer is not stooped at this issue, and you may get a reply by the end of this week.
Regards,
Anil.
Hello,
I am working on your issue and once I got the Rootcasue details I will share them with you .
Regards,
Anil.
Hello ,
I found the root cause of the issue and the generated code creates an issue.
I have raised bug internally to fix this issue in the MCU+SDK ..
In the generated code, for two UART DMA channel config, the PKTDMA instant supposed to be same.
But here the generated code creates two PKTDMA instants, which creates an issue.
To fix this issue, follow the steps :
1. include.h file and extern variable as below to fix the compiler issues .
#include <drivers/uart/v0/lld/dma/udma/uart_dma_udma.h> extern UART_UdmaChConfig gUartUdmaChConfig[CONFIG_UART_NUM_DMA_INSTANCES];
2. Next, add the code below exactly before the drivers open.
gUartUdmaChConfig[1].drvHandle = &gUdmaDrvObj[0];
3. Compile the code and Load it from CCS
Please let me know if an issue is still present after adding these changes.
#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];
Regards,
Anil.