Hi,
I'm working on the DSPI master transmit using DMA which based on SDK. I just used DSPI0 loopback mode that connects SOUT to SIN, and no idea about the TX additional DMA channel.
I checked the SDK user manual that explains this channel is used to push commands in the corresponding FIFO, but as for the specify DMA channel, which channel should I choose? I have confirmed that channel 33 is not working. And when I choose the other channel such as channel 35, it will conflict with ESCI_1_RX request.
Hi Dong,
there's no DMA MUX on this device, the peripheral requests are hardwired to given DMA channels. That means you must use channels 32 and 33 for DSPI TX and RX:
The additional DMA channel does not use hardware request from DSPI peripheral. Linking is used from channel 32. The "Request" field obviously shows corresponding hardware request regardless of this configuration.
It should be possible to use any DMA channel which is not used yet.
Regards,
Lukas
Hi Lukas,
I agree with the additional DMA channel should be linked to the channel which is not used yet. But when I used DMA channel 35 and configured the ProcessorExpert by adding it to the Channels list in dmaController and selecting channel 35 for TX additional DMA channel in dspi0, the ProcessorExpert reported the error for dmaController so that can't generate code successfully. As shown in the following figures.
To generate code successfully, I had to select the channel 32 as TX additional DMA channel, and then changed it to channel 35 manually in the code to ensure that the additional DMA channel can successfully transfer the master command to TX PUSHR. I have confirmed this operation is OK.
So is it an issue for SDK or there are other operations to configure this additional channel?
Hi Dong,
Can you share the error message?
Best regards,
Razvan