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.

MSPM0L1105: I2C error when doing Host_BSL_MassErase

Part Number: MSPM0L1105
Other Parts Discussed in Thread: MSPM0L1306

Dear Ti team,

We want to flash firmware to our MSPM0L1105 target by i2c.
And we reference the code form C:\ti\mspm0_sdk_1_30_00_03\examples\nortos\LP_MSPM0L1306\bsl\bsl_host_mcu_to_mspm0l11xx_l13xx_target_i2c.
Now we encounter a situation in Host_BSL_MassErase function.
// Write the packet to the target
i2c_ack = I2C_writeBuffer(BSL_TX_buffer, HDR_LEN_CMD_BYTES + CRC_BYTES);
if (i2c_ack != uart_noError) {
TurnOnErrorLED();
}

I2C_readBuffer(BSL_RX_buffer, 1);
delay_cycles(2000000);
I2C_readBuffer(BSL_RX_buffer, HDR_LEN_CMD_BYTES + MSG + CRC_BYTES);

I2C_wirteBuffer part looks good, it can write 8 bytes successfully.
But system i2c shows "controller timed out" when doing next "I2C_readBuffer(BSL_RX_buffer, 1);"

And then we can't do further actions.

Could you tell me how to do Host_BSL_MassErase by i2c flashing firmware correctly?

Thanks!

  • Hi Jonas,

    Did they met questions with example code? Or the example code was ok but their code went wrong?

    Thanks,

    Yuhao

  • Hi Yuhao,

    I just reference the example code. I have no idea if example OK or not.

    i2c read buffer has problem after  I2C_writeBuffer.

    Sometimes "I2C_readBuffer(BSL_RX_buffer, 1);"  works but the next read stil failed.

    It's a urgent issue. Please help to check ASAP.

    Thanks!

  • Actually you can run the example code first by following the readme in the project.

    But could you contact with any TI FAE?

    It would be better to discuss via email if the case is urgent.

  • Attach the complete log for your reference, you can see read failed happend after mass Mass Erase command.

    I2C_writeBuffer 8 bytes 80 1 0 15 99 f4 20 40  <== Host_BSL_MassErase I2C_writeBuffer(BSL_TX_buffer, HDR_LEN_CMD_BYTES + CRC_BYTES);
    I2C_readBuffer 1 bytes 0 <== I2C_readBuffer(BSL_RX_buffer, 1);
    I2C_readBuffer error <== I2C_readBuffer(BSL_RX_buffer, HDR_LEN_CMD_BYTES + MSG + CRC_BYTES);

    0422_mass_storage_i2c_read_error.txt
    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2024.04.22 18:47:40 =~=~=~=~=~=~=~=~=~=~=~=
    cat /varr /lo
    # cat /var/log/
    # cat /var/log/mcu_fw_upgrade.log 
    I2C_writeBuffer 8 bytes 80 1 0 12 3a 61 44 de 
    I2C_readBuffer 1 bytes 0 
    Host_BSL_Connection success
    I2C_writeBuffer 1 bytes bb 
    I2C_readBuffer 1 bytes 51 
    Status_check() ==> 0x51
    I2C_writeBuffer 8 bytes 80 1 0 19 b2 b8 96 49 
    I2C_readBuffer 32 bytes 0 8 19 0 31 0 1 0 1 0 0 0 0 1 10 c0 6 60 1 0 20 1 0 0 0 1 0 0 0 6 fe 35 
    I2C_readBuffer 1 bytes c8 
    I2C_writeBuffer 32 bytes 80 21 0 21 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
    I2C_writeBuffer 8 bytes ff ff ff ff 2 aa f0 3d 
    I2C_readBuffer 10 bytes 0 8 2 0 3b 0 38 2 94 82 
    I2C_writeBuffer 8 bytes 80 1 0 15 99 f4 20 40 
    I2C_readBuffer 1 bytes 0 
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer 1 bytes 4 
    I2C_readBuffer 9 bytes 0 3a f0 20 0 54 6f 6d 94 
    I2C_writeBuffer 32 bytes 80 85 0 20 80 0 0 0 e5 3 0 0 0 0 0 0 9b a 0 0 0 0 0 0 9b a 0 0 0 0 0 0 
    I2C_writeBuffer 32 bytes 0 0 0 0 0 0 0 0 e1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    I2C_writeBuffer 32 bytes 0 0 0 0 9b a 0 0 10 b5 2 28 4 d0 1 28 c d1 be 48 1 80 10 bd bb 48 2 21 1 60 bb 48 
    I2C_writeBuffer 32 bytes 0 88 1 a ba 4a 11 70 50 70 10 bd 2 46 10 3a 93 b2 1b 9 3 2b f8 d8 9b 0 1 a4 e3 58 9f 46 
    I2C_writeBuffer 12 bytes 9 1 0 0 5f 1 0 0 73 a3 3a 8 
    I2C_readBuffer 1 bytes 61 
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    I2C_readBuffer error
    I2C_writeBuffer error
    I2C_readBuffer error
    # 

  • Hi Jonas,

    Since support is via email, I will close the thread now.

    Thanks,

    Yuhao