cancel
Showing results for 
Search instead for 
Did you mean: 

WB55 FUS upgrade fails, keep getting "security extension not instantiated" error message

MLeng.638
Associate II

I'm trying to flash the FUS and BLE_stack to the co-processor, but the CubeProgrammer drops me the error below. I could not even delete the previous FUS as the release note said. Same error message. The flash was erased by changing the protection byte to 0xBB and then back to 0xAA. Could that be my problem? The MCU is on a custom PCB, and the important parts are the same as on the WB55-Nucleo and I'm using a nucleo with s-link to program through SWD. The application runs perfectly on the M4 (except the bluetooth part).

So the error message is: "Error: Could not execute fwupgrade command, Security extension not instantiated".

Any help is appreciated.

Thanks in advance!

0690X00000AqJgFQAV.png

22 REPLIES 22
Remi QUINTIN
ST Employee

​>The flash was erased by changing the protection byte to 0xBB and then back to 0xAA.

No this just erases the non -secure part of the Flash memory.

The issue is more on the SWD side. This interface does not support the upgrade process of the secure part completely. For example the upgrade commands are not supported. They will be supported in the next version of the FUS operator that should available very soon (a few weeks).

So for now we recommend to use either the UART or the USB-DFU interface.

The next version of the upgrade tool using the Debug (STLINK/SWD) Interface  will support the full upgrade process even with one single command.

Here is an example for FUS/Stack upgrade through SWD with the new version:

  •  FUS Upgrade :

STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=1

  • Stack install :

STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade stm32wb5x_BLE_Stack_fw.bin 0x080EC000

  • User application install :

STM32_Programmer_CLI.exe -c port=swd mode=UR -d UserApplication.bin 0x08000000 -v

All these operations can be combined in one command :

  • STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=1 -c port=swd mode=UR -fwupgrade stm32wb5x_BLE_Stack_fw.bin 0x080EC000 -c port=swd mode=UR -d UserApplication.bin 0x08000000 -v

Remi QUINTIN
ST Employee

​Note also a new CubeWB FW package V1.3.0 is available on the ST web site.

Hi Remi,

What version of STM32_Programmer_CLI.exe will this feature be available? We are currently using STM32CubeProgrammer 2.2.

Also, when is the expected release date? Thanks!

Remi QUINTIN
ST Employee

​>We are currently using STM32CubeProgrammer 2.2.

Wow You are ahead of ST ;-). The official release available on the ST site is only 2.1!!!

Oops, typo - it was 2.1!

Remi QUINTIN
ST Employee

​In fact you'are lucky. I just checked the new version being release a few hours ago and it is indeed V2.2.

So you can go get it and try it.

Thanks, we'll try it.

regards,

Arthur

MLeng.638
Associate II

@Remi QUINTIN​ 

Thank you for your fast response!

I have a follow-up question. We desoldered the MCU from the Dongle from the WB55 Nucleo pack and placed it into our custom PCB, because it fits. I redefined the LED pins, and disabled the button pin. The rest is the same as on the Dongle PCB, the oscillators, the RF antenna. Sadly the p2pserver example app doesn't work, and it looks like the program doesn't initialize the BLE. I assume the ble_stack is on the MCU, because we saw it working on the dongle. So my question is what could go wrong during this procedure? What can cause the fact that the BLE isn't initialized while the PCB around the MCU is the same as on the Dongle?

Remi QUINTIN
ST Employee

The first thing to do is to check the option bytes​. Is the BOOT0 set to 0?

How do you get access to your board?

Hope nothing was damaged during the chip resoldering.