2020-09-23 07:29 AM
I am trying to reprogram a custom board with STM32F411RC over I2C using the built-in bootloader. I am able to successfully issue the Get version, Get ID and Get command and get correct response. After that when I try to do a No-streach mass erase (datasheet states that mass erase is suported), when waiting for a final ACK, I am initially getting a BUSY response, which is normal behaviour, but then I get a timeout from I2C without getting an ACK or a NACK response. If I read the content of the flash memory with the ST-Link after this operation I see that the flash was actually erased. What could be the reason that I don't get an ACK after performing the mass erase?
2020-09-23 04:00 PM
Mass erase takes a while, up to 30sec on some chips. Make sure your code waits long enough.