DMA transfer on 2 channels, one needs minor loop mapping and the other doesn't

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

DMA transfer on 2 channels, one needs minor loop mapping and the other doesn't

1,346 次查看
tommy1231
Contributor II

Hello,

I have a few different DMA channels being used but to simplify my example:  one is triggered by the PDB to transfer ADC values and a second is connected to the SPI driver in the SDK.  The ADC configuration requires the minor loop mapping (EMLM) to be enabled but the call to LPSPI_DRV_SlaveTransfer disables the EMLM.  

Is it possible to have some channels use the minor loop mapping and others that don't without changing the enable before each transfer?  In my case the PDB triggers the DMA directly without an interrupt so I don't know how to turn it back on.  Similar when doing the DMA transfer for the SPI except to turn it off.

Thank you.

标记 (1)
0 项奖励
回复
1 回复

1,228 次查看
jorge_a_vazquez
NXP Employee
NXP Employee

Hi Tom Christiansen

Unfortunately, no, this feature is not available in the S32K1xx device family, when you disable the Minor loop mapping, it is disabled in all the channels. As long as you are not able to differentiate when the ADC transfer or the SPI transfer will occur, you cannot enable it and disable it. Sorry for the inconveniences that this may cause you.

Best regards

Jorge Alcala

0 项奖励
回复