Skip to main content
Visitor II
November 18, 2024
Question

STM32G071G I2C bootloader

  • November 18, 2024
  • 5 replies
  • 1622 views

We used I2C bootloader for STM32G071GBU6N (UFQFPN28)  more than 3 years. 
We bought a new batch of controllers STM32G071GBU6N. Bootloader does not start. 
I tried to debug bootloader and if I stop program then old chip sets at the address 0x1FFF2128 but new 0xFFFFFFFE.
It looks like bootloader does not start for new chip.
I can program new chip with ST-link but we can not use it for production we have access to I2C only.
Differences between chips is bootloader revision for old chip is 0xB2 for new is 0xB3. All option bytes have the same values.
Why the bootloader may not start?

 

    This topic has been closed for replies.

    5 replies

    Technical Moderator
    November 23, 2024

    Dear @Igor80 ,

     

    You can refer to this update on the bootloader versions https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf#page223

     

    IMG_0514.jpeg

    Hope it helps,

    STOne-32

    Igor80Author
    Visitor II
    November 26, 2024

    Hello,

    I see that after the power reset boot loader started but if I send command via I2C then it jump to 0xFFFFFFFE.

    I tried to debug bootloader, and it executes the program between addresses 0x1fff236a and 0x1fff23ac. See attached picture with listing for new chip. If I send I2C command, then it does not return acknowledge and jump to 0xFFFFFFFE. See attached picture. It has I2C signals for old and new chip. I don't see any reset during I2C processing.

    Igor80Author
    Visitor II
    November 26, 2024

    I connected oscilloscope instead logic analyzer to I2C lines. See attached file. We use FT4232 as I2C controller and it does not support clock stretching. SCL connected via 100 Ohm serial resistor. I tried SCL clock 10kHz. The old STM32G07 works without clock stretching but new not.

    As I understand new revision cannot work without clock stretching and we need redesign our programmer to implement it.

    I will try to find controller with stretching tomorrow and check my assumption.

    Igor80Author
    Visitor II
    November 27, 2024

    Hello,

    Yes, it is problem in clock stretching. I see that STM32 stretch clock up to 30 msec sometimes. We need design new I2C programmer :(

    Thank you for support.

     

    Technical Moderator
    November 27, 2024

    Dear @Igor80 ,

    Thank you for the debug and analysis, we logged the behavior inside our internal system 196556 & 197215 and my colleague in Online support is also in touch with you. We will be back to you with the action plan.

    Ciao

    STOne-32.