Skip to main content
honestech
Associate II
July 17, 2021
Solved

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

  • July 17, 2021
  • 2 replies
  • 2136 views

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.

This topic has been closed for replies.
Best answer by honestech

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 

2 replies

honestech
honestechAuthor
Associate II
July 17, 2021

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
honestechAuthorBest answer
Associate II
July 18, 2021

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