cancel
Showing results for 
Search instead for 
Did you mean: 

Bootloader initialization concern with STM32G0B0R

GZ1
Associate

Hi, Please advise . I've been designing with the STM32G0B0R at my company. I have some ports connected to a ULN2003A driver input and ouputs to a relay's negative return, since the relay is conneted to 12V . specifically PC10, PC11. PC12,PC13. the ULN2003A driver is said to have internal pulldown resistor  on it inputs about 10.7K through a combination of resistors shown in the datasheet. Is there any concern that I should be aware of that during the initialization of the STM32G0B0R's  bootloader, a relay would go active unexpected . As a hardware engineer I'm thinking that just having external pull down resistor incase the micro goes into a high impedane state during its initialization time should be sufficient. Or Is this sufficient to argue that pull down resistor externally to each pin should keep the relays inactive during these initialization periods of the bootloader as far as hardware is concerned external. I do recall from  AN2606 Application that if the (boot0) bit is properly configured this should be the case and that any other concern should be of the  FW  itself to set the correct relay levels at bootup. I hope this is clear. Thanks

 

GZ1

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

If BOOT0 is tied low, the bootloader will not be entered and pins will remain at their default state, which is analog high impedance. If there is an external pulldown, they will remain low during startup.

The full list of ways to enter the bootloader is here. The chip doesn't have a BOOT_LOCK bit, but it's unclear what that means in the context of the table. ST should clarify, or you could test.

TDK_0-1724120745830.png

 

Edit:

Apparently, "doesn't have a BOOT_LOCK bit" means BOOT_LOCK = 0 per this post:

Solved: STM32G030, Does not enter bootloader when boot0 is... - STMicroelectronics Community

So the chip will enter the bootloader when the flash is empty as nBoot0=nBOOT0_SEL=1 by default. You can change this by setting the option bits in STM32CubeProgrammer, or by uploading code so the main flash isn't empty.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

1 REPLY 1
TDK
Guru

If BOOT0 is tied low, the bootloader will not be entered and pins will remain at their default state, which is analog high impedance. If there is an external pulldown, they will remain low during startup.

The full list of ways to enter the bootloader is here. The chip doesn't have a BOOT_LOCK bit, but it's unclear what that means in the context of the table. ST should clarify, or you could test.

TDK_0-1724120745830.png

 

Edit:

Apparently, "doesn't have a BOOT_LOCK bit" means BOOT_LOCK = 0 per this post:

Solved: STM32G030, Does not enter bootloader when boot0 is... - STMicroelectronics Community

So the chip will enter the bootloader when the flash is empty as nBoot0=nBOOT0_SEL=1 by default. You can change this by setting the option bits in STM32CubeProgrammer, or by uploading code so the main flash isn't empty.

If you feel a post has answered your question, please click "Accept as Solution".