cancel
Showing results for 
Search instead for 
Did you mean: 

About the wireless stack downloaded by default

ota-s
Associate II

Hi,expert.

I am learning to use P-NUCLEO to support development using STM32WB.

As the title, I have a question about the wireless stack.

I learned in UM2550 that when writing a wireless stack, the current wireless stack needs to be erased and written again.

However, I do not know which wireless stack is written to the STM32WB series by default.

Also, I do not know how to check the currently written wireless stack.

If you have knowledge of these two points, please answer.

thank you for your attention.

4 REPLIES 4

Could you perhaps pull it out with the ST-LINK, and inspect it?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
ota-s
Associate II

​Hi, Clive Two.Zero.

Thank you for the reaction.

Although I may be doing the wrong way, I tried the following.

I used a USB cable to connect a new P-NUCLEO to a PC, and launched the STM32 ST-LINK Utility.

The contents written to the memory of 0x0800 0000 to 0x080F FFFF of P-NUCLEO were output using STM32 ST-LINK Utility.

However, reading 0x080C B050 or later memory failed.

Presumably, in the area dedicated to CPU2, I think that read protection is applied.

As a result, it was not possible to know the type of wireless stack downloaded.

I would like to have some wisdom if there is something else.

Thank you.

Jan Staniek
Associate

The description about downloading the wireless stack is in the Release_Notes.html file found here:

C:\Users\<your user name>\STM32Cube\Repository\STM32Cube_FW_WB_V1.2.0\Projects\STM32WB_Copro_Wireless_Binaries

Beside setting the Boot0 pin, check for the fuse bits - see section 59.1 and 4.1 of AN2606.

MWB_CHa
ST Employee

Hi,

You can simply know if a wireless stack is loaded in your part or not by reading the option byte: SBRV or SFSA.

If the value of SBRV is lower than 0x3D000 (or if the value of SFSA is lower than 0xF4) then you have a loaded stack inside.

Then to know which stack and which version of the stack you have, you simply need to read the SRAM2a content (0x20030000) and follow the structure explained in Wireless stack documentation.

Of course before doing any of that you need to activate the CM0 either by booting on system bootloader as explained by Jan above (Boot0/nswBoot/nBoot1) or by loading a code in user flash that activate the CM0 (ie. any wireless stack application code provided by ST in STM32WBCubePackage)

Please note that in most cases you need anyway to upgrade your wireless stack to the newest version (ref. release notes to check known limitations of older versions) and to do that you need also to upgrade the FUS (Firmware Upgrade Services) code as explained in AN5185.

I hope it helps.