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.

TMS320C5535: Single instance SPI works, but multiple instances of SPI does not

Part Number: TMS320C5535


I'm developing on a TMS320C5535 using the XDS110 debugger, the C5000 chip support library, and Code Composer version:  8.3.0.00009. I have two SPI peripherals interfacing with the DSP processor and have verified that communication is successful when each peripheral is individually set up in different projects. Now I'm trying to combine both instances of the SPI peripherals within the same project. 

It seems that SPI_open() is returning the same pointer for both instances, which explains why only one SPI instance is working at the moment:

I tried different ways of initializing each instance, but I keep getting the same pointer for both when I use SPI_open(). Perhaps it's because the SPI instance is static:

/*****************************************************************************\
 * SPI Global variable                                                   *
\*****************************************************************************/
/** @addtogroup CSL_SPI_GLOBALS
 @{ */
static CSL_SpiObj	SPI_Instance;
/**< Object to store the information of SPI Handler */
/**
@} */

What's the best way to get around this?

I could not find any examples of driving multiple SPI instances in the chip support library, so maybe I'm not initializing this peripherals correctly. Are there any extra steps I'm missing? 

Eddie