This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc3200 SPI with DMA

Other Parts Discussed in Thread: CC3200, ENERGIA

I have a SPI+DMA Energia sketch for CC3200 launchpad at 

https://github.com/manitou48/CC3200/blob/master/spidma.ino

The SPI+DMA works fine once, improving block transfer speed from 2mbs for loop-based SPI transfer to 17 mbs (with SPI CLK at 20mhz).  But it hangs the 2nd time through the loop.  Logic analyzer shows the sketch pulling CS LOW, but no SPI activity shows on analyzer 2nd time though, sketch hangs waiting for spidone

I'm running with factory-installed firmware.  (is there a way to look in ROM to get the firmware version?)

  • OK, sketch on github is updated and working. Needed to use SW control for CS and use CSEnable/Disable
  • Thanks, I will mark this as closed.

    Regards,
    Gigi Joseph.
  • With the logic analyzer, I observed that with SPI in 32-bit mode, the bytes are NOT in little endian order. So if you are trying to speed up byte transfers by casting as 32-bit word, things may not work. There is a cortex REV instruction to reverse byte-order but that wouldn't be convenient for DMA.

    FYI, the wipy cc3200 8-bit SPI is 3 times faster than the launchpad SPI transfer for a vector of bytes...