Hi,
I'm currently struggling with BSL flashing through i2c over an A2B link.
The trouble is, i2c peripherals on a subordinate A2B node have a hard limit for i2c clock stretching. The limitation in our setup is 0.66 ms (0.66 ms for 48 kHz and 0.72 ms for 44.1 kHz).
I managed to flash by waiting according to the datasheet[1] after writing a BSL command before starting reading the BSL response. But I still have trouble with "Standalone Verification" where I see two issues:
1. The first "Standalone Verification" will always return a wrong CRC. If I repeat the "Standalone Verification" command then I will get the correct CRC. Also the rest will be fine. So for some reason it's only the first one, do you know why?
2. Again the first "Standalone Verification" after flashing, sometimes holds SCL low more than 0.6 ms even after I wait 10-20 ms before starting reading the BSL response. Can you share some details about the general timings? Or do you know a better way of avoiding i2c clock stretching while BSL flashing?
[1]
MSPM0G1106 datasheet: Section: 7.7 Flash Memory Characteristics