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.

SPI0 Interrupt using TI RTOS

Other Parts Discussed in Thread: OMAPL138

Hello All,

I am Using OMAPL137 for my custom application.

I need to communicate through SPI0 as slave with RTOS.

My configurations are as follows

I am not able to receive the interrupt.

My questions are.

1) I assume that as soon as Chip Select goes low interrupt will be generated for Slave. Is my understanding correct?

If not when the interrupt will be generated? and How DSP will receive interrupt?

2) Any other configuration is required for Interrupt setting In RTOS other than above mentioned setting?

3) How to debug in the RTOS whether is it able to receive the interrupt?

4) How to generate the interrupt from external device(specifically SPI0).

Waiting for your reply as soon as possible.

Thanks And Regards,

Vijay Hiremath

  • Hi Vijay,


    1) I assume that as soon as Chip Select goes low interrupt will be generated for Slave. Is my understanding correct?

    In my understanding, No, if CS is low, particular device is getting selected for data transfer.
    You would get interrupt when the SPI RECV buffer received data.


    3) How to debug in the RTOS whether is it able to receive the interrupt?

    Please make sure that you have configured the SPI0 interrupt number correctly.


    4) How to generate the interrupt from external device(specifically SPI0).

    Send data to SPI0 buffer with CS enabled (active low),  then DSP gets interrupted.

    Also we don't have SPI0 slave code, but we have starteware package SPI master example.

    I would like suggest you to refer the starterware package, try to modify the code for SPI slave mode then check whether able to receive SPI0 interrupt.

    C:\ti\OMAPL138_StarterWare_1_10_04_01\examples\lcdkOMAPL138\spi

    Change the code for SPI0 (pinmux) and slave support.

    Ex:
    SPIPinMuxSetup(0); //SPI0 pinmux
    SPIModeConfigure(SOC_SPI_0_REGS, SPI_SLAVE_MODE);