cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WL55 doesn't activate the device bootloader (system memory)

honestech
Associate II

I have 3 Nucleo-WL55JC1 boards and tried to activate the bootloader as AN2606.

As an AN2606, it should activate the bootloader if there is pattern 13.

 0693W00000Czs1cQAB.png 

When I have set the BOOT1 and nSWBOOT0 to 1(Checked on STM32CubeProgrammer GUI), and connected BOOT0 pin to VCC, then reset the board, but it still runs the user flash.

Also set BOOT1 to 1, nSWBOOT0 to 0 and BOOT0 to GND, then reset, but same.

It's very weird and couldn't find the same issue on the forum.

Is there any typo on the reference or am I confusing?

Any reply would be appreciated.

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
honestech
Associate II

I could set the BOOT_LOCK bit in option byte by increasing RDP and setting back it. And there is some activity to set it to 1 in SBSFU. While the SBSFU is running, I can't set it to 0. So you should erase the flash at first and then try. If fails again, change the RDP level.

[P.S.] It's the right instruction to activate the bootloader in STM32WL that I found in RM0453. AN2606 doesn't describe the correct pattern. They should update it.

0693W00000CzvjYQAR.jpg 

View solution in original post

2 REPLIES 2
honestech
Associate II

While reading the stm32wl55 reference manual (RM0453), I found there are more option bits to activate the bootloader.

Especially I should disable BOOT_LOCK bit, I can't set it by STM32CubeProgrammer.

When unchecking it, got an error like this.

  21:33:34 : Reconnected !
  21:33:34 : UPLOADING OPTION BYTES DATA ...
  21:33:34 :   Bank          : 0x00
  21:33:34 :   Address       : 0x58004020
  21:33:34 :   Size          : 96 Bytes
  21:33:34 :   Bank          : 0x01
  21:33:34 :   Address       : 0x58004080
  21:33:34 :   Size          : 8 Bytes
  21:33:34 : OPTION BYTE PROGRAMMING VERIFICATION:
  21:33:34 : Error: Expected value for Option Byte "BOOT_LOCK": 0x0, found: 0x1
  21:33:34 : Error: Option Byte Programming failed

Is this the programmer issue?

honestech
Associate II

I could set the BOOT_LOCK bit in option byte by increasing RDP and setting back it. And there is some activity to set it to 1 in SBSFU. While the SBSFU is running, I can't set it to 0. So you should erase the flash at first and then try. If fails again, change the RDP level.

[P.S.] It's the right instruction to activate the bootloader in STM32WL that I found in RM0453. AN2606 doesn't describe the correct pattern. They should update it.

0693W00000CzvjYQAR.jpg