cancel
Showing results for 
Search instead for 
Did you mean: 

FUS: No valid image or signature found when installing BLE stack to STM32WB55CE chip

ALimb.1
Associate II

Hello,

I am trying to flash BLE basic stack to STM32WB55CE using J-Link Segger. I've followed the instructions from the Segger wiki site (found here: https://wiki.segger.com/STM32WB55). However, I get: "No valid image or signature found" from FUS after FUS is done "searching for a valid image signature in the last 5 unsecured sectors". I've attached JLink log below.

Any help or advice is much appreciated.

Thanks!

Connecting to J-Link via USB...O.K.
Firmware: J-Link V11 compiled Dec 9 2021 14:14:49
Hardware version: V11.00
S/N: 51010182
License(s): GDB
USB speed mode: High speed (480 MBit/s)
VTref=1.806V
 
 
Device "STM32WB55CE - FUS" selected.
 
 
 
Connecting to target via SWD
Found SW-DP with ID 0x6BA02477
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: AHB-AP (IDR: 0x84770001)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
[0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7
[0][1]: E0001000 CID B105E00D PID 003BB002 DWT
[0][2]: E0002000 CID B105E00D PID 002BB003 FPB
[0][3]: E0000000 CID B105E00D PID 003BB001 ITM
[0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU
[0][5]: E0041000 CID B105900D PID 000BB925 ETM
[0][6]: E0043000 CID B105900D PID 005BB906 CTI
SetupTarget() start
CORE ID AP[0]: 0x410FC241
FUS: State idle.
Current safe boot version: 0x01010000
Current FUS version: 0x01020000
Current wireless stack version: 0x00000000
SetupTarget() end
Cortex-M4 identified.
J-Link>
Unknown command. '?' for help.
J-Link>loadfile stm32wb5x_BLE_Stack_basic_fw.bin 0x805b000
Downloading file [stm32wb5x_BLE_Stack_basic_fw.bin]...
HandleBeforeFlashProg() start
FUS: State idle.
FUS: Deleting wireless stack...
FUS: Operation started. This process might take a few seconds.
FUS: Service ongoing.
FUS: State idle.
 
Wireless stack successfully deleted.
HandleBeforeFlashProg() end
J-Link: Flash download: Bank 0 @ 0x08000000: 1 range affected (151552 bytes)
J-Link: Flash download: Total: 1.814s (Prepare: 0.056s, Compare: 0.046s, Erase: 0.000s, Program & Verify: 1.665s, Restore: 0.045s)
J-Link: Flash download: Program & Verify speed: 89 KB/s
HandleAfterFlashProg() start
Searching for a valid image signature in the last 5 unsecured sectors
First: 0x080EF000
Last: 0x080F4000
No valid image or signature found.
HandleAfterFlashProg() end
O.K.

2 REPLIES 2
Remi QUINTIN
ST Employee

The best to avoid any such issue is you to erase the user part of the flash memory using the sequence below:

Set RDP option byte to 0xBB and then back to 0xAA.

CLI.exe -c port=usb1 -ob RDP=0xBB

CLI.exe -c port=usb1 -ob RDP=0xAA 

Then try to install the wireless stack once again.

It may happen that some data remaining in this user area could mislead the FUS that is looking for some magic word indicating the start of the new FW to install.

Remi QUINTIN
ST Employee

Also please use the latest WB FW V 1.13 that is available to st;com.