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!