Hi,
I am trying to use the DMASS, I have read the TRMand the examples. But still, it is not clear to me which type I should use.
Based on the TRM we can use DMASS in one of the following types:
- PKTDMA which is transferring packets and can be paired with different peripherals that are connected to the PDMA(UART, SPI, ADC) or to Ethertnet, SAUL, etc.
- BCDMA in general block copy mode in which Tx and Rx are paired
- BCDMA in Split mode where we can have both Tx and Rx and is used for remote peripherals through PSIL
But when I looked at the drivers for opening a UDMA channel, It has considered two states for BCDMA
- One in which Tx/Rx are paired so it is the same as the general block copy
- One in which the Rx channel can not exist for that and is called LCDMA_BCDMA. But this is not compatible with split mode, because in the split mode, we can have Rx.
Why code and TRM definition doesn't match?
In general, what is the difference between PKTDMA and different modes of BCDMA? Based on my understanding PKTDMA transfers packets to the memory but BCDMA only transfers the data buffer to Memory.
Can I use the BCDMA in the split mode paired with PDMA for data transfer to/from ADC, UART, etc?
Thanks.