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.

RTOS/TMS320C5545: 432-master to DSP-slave I2C not receiving data at dsp

Part Number: TMS320C5545

Tool/software: TI-RTOS

I'm running the sample code provided (msp432_i2c_msp_master_dsp_slave_test and i2c_dsp_slave_msp_master) and the MSP432 seems to think that the c5545 is receiving the diagnostic data. The c5545, however, gets stuck in a while loop waiting for the receive data register to be ready. Here is the code for both and the snippet where the c5545 code seems

The code is from the diagnostic code supplied with the CSL.

 to waiting. 

  • Hi,

    I've notified the sw team. They will post their feedback directly here.
  • Dane,

    Did you follow the sequence of running this example?
    I think one side has to be started before the other.

    Lali
  • See this related thread.
    e2e.ti.com/.../2516687


    I have seen before an issue with I2C after booting beyond the I2C boot peripheral in the boot sequence (for example, booting from SD card - SD comes right after I2C in the boot sequence). The I2C boot drives the I2C signals, and they have gotten held low after unsucessfully booting from I2C and moving on to the SD boot. We have worked around this issue by forcing a start bit, waiting a while, then forcing a stop bit. You might try adding these two steps in the I2C initialization if you are unable to resolve it any other way.

    volatile Uint32 delay;
    /* Enable I2C module */

    CSL_SYSCTRL_REGS->PCGCR1 = 0x0;
    /* Set the start/stop bit */
    CSL_I2C_SETSTART();
    for (delay = 0; delay < 0x1000; delay++)
    {
    asm("\tNOP");
    }
    CSL_I2C_SETSTOP();
    }

    Give the start/stop a try and see if it gets I2C working again.

    Hope this helps,
    Mark
  • Dane,

    I'm trying to unlock this thread to resume debugging your issue. You might have to post a new thread if it does not stay unlocked.

    Regards,
    Mark