SPI2 (to communicate with CC3000)
I2C2 (to communicate with some sensors)
SD1 (for serial comms (chprintf())
It would seem if SPI2 and I2C2 are both started then I run into some difficulties... From other threads on this forum I'm assuming this is a DMA problem. The STM32L152 has a single 12 channel DMA controller. So would I right in saying that I cannot have the I2C and SPI drivers active/started at the same as they both grab the same DMA channel?
While I understand the basic concept of DMA I am not too familiar with the inner workings of its implementation on the STM32. A prod in the right direction would be appreciated
Assuming this is the case, is there any internal protection e.g. a built-in mutex for such a thing? I know SPI and I2C have an acquire bus function, but looking into it, this seems to protect the I2C/SPI driver and not the underlying DMA driver.
It was a few months ago when I picked the particular drivers being used. When I get some extra time I'll cross reference the GPIO with DMA channels to see if any don't overlap. However, ideally I would like a DMA friendly solution as well.
Cheers