cancel
Showing results for 
Search instead for 
Did you mean: 

entering system bootloader on STM32U31 on empty check mechanism

TWe
Visitor

Hi!
I'm building a device using a STM32U31xx, connected to a Network Chip via I²C (PB6/7) and 2 GPIOs for Reset and BOOT0 Pin. The intention is to have new firmware downloaded onto the network chip, and flash new firmware to the STM32U031 via the system bootloader.I power up the system to invoke a power up reset on the ST device, I immediately flash firmware and ask the chip after another reset cycle for the new firmware version to confirm the new firmware was flashed.

The behavior I observe is the following:
- if the STs Option Byte nBOOTSEL is 0, the process works just fine, very reliably.
- if nBOOTSEL is 1, the process fails even if I mass erased the STs flash memory entirely

This is contrary to my understanding of AN2606 Table 2, pattern 11, that states that the empty check should start the system bootloader no matter the state of nBOOTSEL bit or BOOT0pin.

I intended to have the ST chip flashed on production without previous intervention into the STs option bytes (nBOOTSEL is 1 on delivery). So far I cannot make this happen.

Did I miss anything?

0 REPLIES 0