cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747 and I2C bootloader

SSerg.4
Associate II

Hello,

I'm designing an electronic board with STM32H747 microcontroller. This is my first time using a microcontroller with 2 cores.
I would like to ask some questions about bootloaders:
- how do I select bootloader over I2C (I2C1 on PB6/PB9 pins)?
- at what logic level should I put the BOOT0 pin?

Thanks to who helps me.

2 REPLIES 2
Imen.D
ST Employee

Hello @SSerg.4 and welcome to the Community,

You can activate the I2C bootloader on STM32H747 using I2C1 on pins PB6 (SCL) and PB9 (SDA).

You should configure BOOT pins (by setting BOOT0 to '1' and BOOT1 to '0'). So, the BOOT0 pin must be set to a high logic level during the boot process to select the system memory in the bootloader code.

ImenD_0-1715183810349.png

ImenD_1-1715183928625.png

I recommend you follow the configuration in:

  • AN2606 (STM32H74xxx/75xxx device section)
  • AN4938 Application note Getting started with STM32H74xI/G and STM32H75xI/G MCU hardware development
  • (page 25-26)
When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Hi @Imen.D ,
I'm a little confused, the STM32H747 microcontroller has only one BOOT pin: BOOT0. Right?

At what logic level should I connect the BOOT0 pin to be able to use the bootloader over I2C?

I read the AN2606 and found that pattern 10 should be used for the microcontroller.

SSerg4_0-1715263180034.png

But it's still not clear to me how I should connect the BOOT0 pin. Assuming it needs to be wired at a logical high level, can I leave it high even when I don't want to activate the bootloader?

Thanks.