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.

OMAP-L138: EDMA3 ISR question for Linked parameter blocks using SysBIOS...

Part Number: OMAP-L138

We are using the SPI0 to get data from an A/D that has 4 channels.  We setup 6 Buffers each with its own parameter ram block.

On the scope we see the data go flying by as we expect.

We have both the "Transfer Completion Interrupt" and "Intermediate Transfer Completion Interrupt" on for all the blocks.

The ISR simple sends an event corresponding to what buffer was just filled.  Then there is a Task that is pending on the Event to deal with the data.

We have a log_info in the ISR and a system_printf in the task when the event is handled.

The ISR looks like it is going off much too fast and for too many iterations.  We get hundreds when we expect 6.  Each buffer should take about 2 seconds to fill but the timestamps on the Log_info looks more like 3uSec.

The Task only prints out 1 item and that is the very last buffer.

Question:  How should the link registers be setup?  We have both 14 for RX SPI0 and 15 TX SPI0.  The TX side is just dummy to supply clocks to the A/D.  We set 15 to link to it self to run for ever.  (eventually we want to run them as a circular buffer system).  14 is linked to the first of the 6 other parameters all linked to each other.  The last one is currently terminated (eventually we want it to point back to the first one).

From a task perspective we are only getting the last Event?

From an ISR perspective it is almost like we are not clearing the interrupt pending but I would have expected the log infos to be much quicker then 3uSec.

Is there something on the SPI side we have to do?  I assumed the EDMA engine was handling the SPI ISR items. 

We do get data in our buffers that look some what reasonable.  The waveforms are jumping around from the 4 channels.  Possible we are missing a sample  and that is causing everything to be shifted.

Thanks for your time