Why built in SPI is not been used in STM32?

STM32 has great built in SPI, but Spark Core is wired to do SPI in firmware by bit-banging IO lines.
Firmware SPI is waisting clock cycles and no change to use DMA to stream data from/to CC3000.
Am I missing something???

2.3.18 Serial peripheral interface (SPI)
The SPI interface is able to communicate up to 18 Mbits/s in slave and master modes in fullduplex and simplex communication modes. The 3-bit prescaler gives 8 master mode
frequencies and the frame is configurable to 8 bits or 16 bits. The hardware CRC
generation/verification supports basic SD Card/MMC modes.
The SPI interface can be served by the DMA controller.

Hi @pulsar - not sure where you’re seeing this information, but we’re not wiring SPI via bit-banging; we’re using the SPI registers. One is being used for the CC3000 and SPI FLASH internally, and the other register is exposed.

Sorry! My mistake.
I didn’t read that small print on the STM32 datasheet what says that those port B25-28 pins can be remapped:
“9. This alternate function can be remapped by software to some other port pins (if available on the used package). For more
details, refer to the Alternate function I/O and debug configuration section in the STM32F10xxx reference manual, available
from the STMicroelectronics website: www.st.com.”

No worries! Last time you caught a major design flaw, so please keep reviewing the board with a skeptical eye; it can only make it better!

1 Like