Using MQX MFS with DMA KSDK 1.2.0

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

Using MQX MFS with DMA KSDK 1.2.0

Jump to solution
632 Views
jschepler
Contributor III

Hello,

I've done searching through the forum on this topic, but the results were from many years ago. 

Does anyone know the procedure of using DMA within the MQX OS with MFS?

We will be writing to an SD card and would like to unload the processor as much as possible.  I searched for "DMA" in the MQX RTOS MFS User's Guide rev 2.9 and came back with 0 hits.

The processor is in the K64F family.  The processor reference manual has information on DMA and SDHC, but I don't know how to use the DMA portion with MQX when writing to an SD card using MFS.

Thanks

Labels (1)
Tags (4)
0 Kudos
1 Solution
410 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Jschepler

In fact, DMA has nothing to do with MFS. That's why can't get any hints with DMA in MFS user guider.

So I think maybe your question is whether the ESDHC driver supports DMA. The short answer is yes, it does.  eSDHC drivers were reworked to leverage the ADMA peripheral module in classic MQX.

If you want to get maximum performance and really offload the CPU the application has to do bulk operations. I mean if the application reads/writes a file byte by byte the DMA is not of much use. It pays off the most if the application reads/writes data by blocks at least of cluster size and the best performance is achieved if the file offset is sector (or even better cluster) aligned.

Regards

Daniel

View solution in original post

0 Kudos
1 Reply
411 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Jschepler

In fact, DMA has nothing to do with MFS. That's why can't get any hints with DMA in MFS user guider.

So I think maybe your question is whether the ESDHC driver supports DMA. The short answer is yes, it does.  eSDHC drivers were reworked to leverage the ADMA peripheral module in classic MQX.

If you want to get maximum performance and really offload the CPU the application has to do bulk operations. I mean if the application reads/writes a file byte by byte the DMA is not of much use. It pays off the most if the application reads/writes data by blocks at least of cluster size and the best performance is achieved if the file offset is sector (or even better cluster) aligned.

Regards

Daniel

0 Kudos