Concurrent DMA access on different core.

muhgin
Posts: 5
Joined: Thu Nov 16, 2017 7:33 am

Concurrent DMA access on different core.

Postby muhgin » Thu Nov 16, 2017 7:42 am

Hi,
I have a (noob)question regarding dma.

Say I have sdcard_write_task() and i2s_read_task() running simultaneously on core 0 and 1 respectively. i2s_read_task() getting parallel input using dma, and after each dma descriptor has been served(while waiting for the next one), it will queue the gotten data to sdcard_write_task() to write to sdcard, also using dma.

Question, is it possible to use dma to fetch input using i2s and at the same time write to sdcard?

ESP_Sprite
Posts: 9761
Joined: Thu Nov 26, 2015 4:08 am

Re: Concurrent DMA access on different core.

Postby ESP_Sprite » Thu Nov 16, 2017 4:10 pm

Yes. The DMA engines in the various peripherals are entirely independent. (Also, they're not associated with a core: even one single core can in theory start multiple DMA transfers so they run concurrently).

muhgin
Posts: 5
Joined: Thu Nov 16, 2017 7:33 am

Re: Concurrent DMA access on different core.

Postby muhgin » Mon Nov 20, 2017 1:15 am

Thanks,

I've tried and tested, it works fine as per your reply.

Who is online

Users browsing this forum: Google [Bot] and 109 guests