How to use LPSPI eDMA in one-directional mode?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use LPSPI eDMA in one-directional mode?

833 Views
benedek_kupper
Contributor III

So we're still using iMXRT1011, with LPSPI hooked to an LCD display. I want to use the LPSPI to transmit only using eDMA, so I configure it with Config Tools, enabling transmit channel only, and leaving receive channel unticked. When I run the generated initialization code, the assert of edmaRxRegToRxDataHandle fails. So even though the Config Tool enables me to configure it in transmit only mode, the code itself cannot operate this way. Is this really the case? If so, could you fix the LPSPI eDMA module to allow half-duplex operation as well?

 

(I'm using MCUXpresso IDE v11.2.0 [Build 4120] [2020-07-09])

Labels (1)
0 Kudos
3 Replies

820 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi benedek_kupper,

There is a LPSPI edma demo in SDK. You can refer to this demo.

 

Regards,

Jing

0 Kudos

808 Views
benedek_kupper
Contributor III

This demo is still using DMA in both directions, I want to know if the driver will be fixed so that it supports half-duplex operation without wasting a DMA channel to transfer dummy data on the unused direction. And in the meantime the configurator should be fixed to prevent generation of code that will fail on an assert.

0 Kudos

802 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

I don't know if there will be half-duplex edma example. But I think even half-duplex mode need two dma channel. RT device has 32 DMA channel. It is enough for most cases.

You can download K64 SDK. It has DSPI_half_duplex_dema_master demo. You can refer to it.

 

Regards,

Jing

0 Kudos