I'm using the ESP32S2 and would like to write a continuous stream of data out of the SPI peripheral. I'm using DMA mode with some circular linked lists to achieve high data volumes. However, after 2MB, the ESP32S2 only shifts out 0xFF values despite the hardware appearing to work as expected. I note that this does match the datasheet indicating that GP-SPI2 as a slave in DMA mode can only output up to 2M-bytes (Section 24.5.1).
My question is where is that 2MB limit coming from? Is there a way in software for me to reset a counter to achieve higher than 2MB data outputs in a single transaction? Thanks in advance.
SPI Slave - DMA 2M max read length limit
-
- Posts: 9757
- Joined: Thu Nov 26, 2015 4:08 am
Re: SPI Slave - DMA 2M max read length limit
Good question, I'll see if I can poke around internally for this info.
-
- Posts: 9757
- Joined: Thu Nov 26, 2015 4:08 am
Re: SPI Slave - DMA 2M max read length limit
Digital team says you can get around the limit by setting up segmented transfers, and having the segments to be <2MiB (ref trm section 24.5.4. Perhaps that's a feasible workaround?
Re: SPI Slave - DMA 2M max read length limit
Great, thanks! I'll give it a try.ESP_Sprite wrote: ↑Mon Mar 07, 2022 8:03 amDigital team says you can get around the limit by setting up segmented transfers, and having the segments to be >2MiB (ref trm section 24.5.4. Perhaps that's a feasible workaround?
Who is online
Users browsing this forum: Baidu [Spider], Bing [Bot], ok-home and 321 guests