SPI Slave - DMA 2M max read length limit
Posted: Wed Mar 02, 2022 11:42 pm
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.
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.