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.

TMS570LC4357: TMS570LC4357

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN,

So we've setup some ADC channels and enabled using the HALCoGen adcInit(), adcEnableNotification(), and adcStartConversion() functions.  These work as expected.

Then we've setup some RTIs using the HALCoGen rtiInit() and rtiEnableNotification() functions.  These usually work as expected.

Where we start having problems is when we make calls to the HALCoGen HL_spi.c functions from a function that is being kicked off by an RTI in conjunction with ADC interrupts and conversions occurring at the same time.  What we see is that when the HALCoGen function spiTransmitAndReceiveData() is called from a function that is called by an Real Time Interrupt (RTI) callback (rtiNotification()) data in spiTransmitAndReceiveData() such as the blocksize parameter gets corrupted (i.e. a value of 1 is passed to it, but then it gets corrupted such that it ends up being a very large number, such as 0x26000000).  If I disable ADC interrupts or conversions (don't call adcEnableNotification() or adcStartConversion() then it functions fine.  If I call spiTransmitAndRecieveData() outside of an RTI (main loop) then it functions fine.

Is this a limitation of the TMS570LC4357 or is something not setup correctly?

Thanks,

David