cancel
Showing results for 
Search instead for 
Did you mean: 

STM32G030F6 I2C Bootloader V1.2

I am updating STM32G030F6 via the built-in ROM bootloader from another MCU.

2 issues:

  1. The i2c ROM bootloader slave address is actually 0x56, not 0x51 as written in AN2606. I discovered this on this ST community thread: https://community.st.com/s/question/0D53W0000093IXeSAM/stm32g030f6-i2c-bootloader-not-working-no-ack
    1. Please fix this documentation error; I wasted a couple hours on this before finding the above linked post
  2. The i2c response that comes back when I send command frame 0x01 + 0xFE to STM32g030 i2c bootloader is 0x12, indicating I2C protocol v1.2. However, AN4221 only describes I2C protocol v1.0 and v1.1. Does STM have internal documentation describing I2C protocol v1.2?

Thanks,

Evan

2 REPLIES 2
MWB_CHa
ST Employee

Indeed, AN4221 is not up to date and is missing the latest update of I2C Protocol V1.2. We apologize for that and it will be fixed in the shortest delay.

Meanwhile, please be advised that Bootloader protocol I2C V1.2 is fully compatible with V1.1 version (same commands and same answers).

V1.2 only adds a new command, but everything else is exactly the same.

For the I2C address, it seems correct on AN2606 (at least in revision 47):

"The I2C1 configuration is: I2C speed: up to 1 MHz, 7-bit address, slave mode, analog filter ON. Slave 7-bit address: 0b1010110x (where x = 0 for write and x = 1 for read)"

0x51 is actually the address for STM32G07xx/STM32G08xx devices.

Thanks,

The I2C address error is present in Rev 45 of AN2606. I will update my downloaded file to the latest.