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.
Hello,
I have finally resolved all my problems with SPI, DMA and FIFO (see e2e.ti.com/.../399482 or e2e.ti.com/.../402137) and wanted to share my working examples with you. I hope they serve as a useful starting point for anyone who wants to work with SPI and DMA in the future.
My examples are compiling fine on Linux with gcc 4.9.3 from launchpad.net/gcc-arm-embedded. All you need to change is the path for the SDK in the Makefile.
The hardware setup is similar to the SPI example in the SDK: just connect two CC3200 via cable (Pins GND, P05, P06, P07 and P08). I have set the following jumpers: J6, J7, J8. J9. J10, J11, J12, J13.
transfer_1024_byte.zip implements a simple SPI/DMA transfer that will transfer 1024 (or whatever DMA_SIZE is set to) bytes from the master to the slave and back. It then calculates the buffer's CRC checksum and (on the master) compares the send checksum to the received checksum.
transfer_64k.zip shows how to transfer a 64k buffer from the master to the slave and back again.
If you have any questions or suggestions, please just let me know.
I want to give a special thanks to Praveen, who really helped me a lot to understand SPI/DMA and fix my bugs.
Cheers,
Severin
Thanks for sharing Severin!
It would be cool if you could place your source code on Github, as it will make it easier for people to find and use in the future.
if this is not something that interests you, I'd consider placing in my Github for others to gain access to if you were find with this? I would of course reference your name in the code and README.
Let me know your thoughts on my suggestions.
Glenn
Hi Severin,
I would like to do that SPI slave only do receiving data without sending. Need I prepare tx_buffer and do function calls about TX such as SPIFIFOEnbale() and SPIDmaEnable()?
Thx.
--
BR,
Michael Wu