As with any problem, one way out is to google the problem and see if the community has resolved it already. With writing SD cards, it appears that we have at least three lines of attack:
- Clocking SPI faster
- FIFOs (I don’t think we have these on SAMD21’s SPI)
Community wise, we have content on Arduino, Atmel, and ARM forums:
[ GPIO ] would limit SPI to 12 MHz, but I’m not sure where the GPIO module is being used here.
[ Quickstart guide ] for setting up DMA is referenced here as well.
Now to dig into the libraries and see how SD card writes are configured!