PEmicro has introduced the ability to update the current flash memory of STMicroelectronics' STM32WB Wireless MCUs with wireless stack information. Deleting current wireless stacks allows for more available flash memory in the processor, while upgrading wireless stacks allows the processor to perform desired wireless functions out of the otherwise inaccessible second core.
PEmicro is proud to be an Authorized Partner of STMicroelectronics and provides a full range of development tools, such as the Multilink debug probe, that support debugging STM32WB devices under the STM32CubeIDE, as well as Keil and IAR IDEs. Once development is complete, PEmicro’s Cyclone programmers provide high speed and secure production programming support for use cases that range from small batch programming to large factory environments with multiple programming lines.
This article walks the user through the procedures that they can follow in order to take advantage of this new STM32WB Wireless Stack functionality. These include:
- Creating the Wireless Stack Image
- Deleting the Wireless Stack
- Upgrading the Wireless Stack
1. Creating the Wireless Stack Image
Note: Out of the box, STM32WB devices will contain FUS (Firmware Upgrade Services) version 0.5.3. This is indicated by the value of the Secure Flash Start Address (SFSA) option bytes. Some Wireless Coprocessor SDK firmware files require the FUS firmware version to be upgraded.
In order to be able to delete and upgrade the wireless stack located in the flash memory, you will need to create SAP files within PEmicro’s Cyclone Image Creation Utility. Please refer to PEmicro’s “How to Regenerate a Stand Alone Programming Image” blog post for a broader explanation of how to create a Stand Alone Programming Image. The Cyclone LC and Cyclone FX user manuals also describe this procedure.
Once in the Cyclone Image Creation Utility, select the STM32WB device for which you want to create the image, as shown in the figure below:
Figure 1. Device Selection within Production Programming Image Creation Utility
Once the correct device is selected, select the ‘CM Choose Algorithm’ command from the programming sequence box within the utility.
Figure 2. FLASH Programming Algorithm Selection
After the correct programming algorithm is selected, the flash programming commands will populate the Programming Sequence menu. This is when we can select our Wireless Stack Commands to delete and upgrade the current wireless stack.
2. Deleting the Wireless Stack
As stated previously, out of the box the current wireless stack located in flash memory is the FUS firmware version 0.5.3. Depending on the new wireless stack you wish to program, or if you simply want to have more flash memory available, this current stack will need to be deleted. In order to accomplish this, we will utilize the ‘DW Delete Wireless Stack’ command.
With both the ‘DW’ and ‘UW’ (Upgrade Wireless Stack) commands, the ‘CF - Choose FUS Operator File’ command must precede them in order to achieve success. There are two options for the FUS Operator file which are explained in the figure below.
Figure 3. FUS Operator Version Descriptions
For this example, case, we are working with STMicroelectronic’s NUCLEO-WB55RG development board so we will select V2.8. Please note that PEmicro software currently does not support .bin files and all Wireless Coprocessor Binary files will need to be converted to .s19/.srec format to be compatible.
An example of the command sequence for the “DW” command is shown below.
Figure 4. Deleting Wireless Stack Steps
After receiving a “Success” when executing this SAP image, the SFSA option byte will have changed and more flash memory become readily available, depending on the specific STM32WB device you have.
3. Upgrading the Wireless Stack
The sequence for upgrading the wireless stack (“UW” command) is similar to that of the deletion method. Once again, the “CF” command is absolutely necessary to perform this function in order to program the necessary FUS Operator information into the main flash memory starting at address 0x0.
The main addition to completing a wireless stack upgrade is selecting the “Wireless Stack File” using the “CW” command. These files can be found in the STM32CubeWB MCU Firmware Package.
The STM32CubeWB MCU Firmware Package will also contain the release notes regarding memory start locations of the binary files. Just as before, to use these Wireless Stack Files, they will need to be converted to .s19/.srec format.
An example of the command sequence for the “UW” command is shown below.
Figure 5. Upgrading Wireless Stack Steps
When receiving a “Success” after executing this SAP image, the SFSA option byte will have changed once again depending on the size of the “Wireless Stack File” that you have selected and upgraded. Less flash memory will be available to use due to this upgrade.
For steps on how to install support for PEmicro debug interfaces within STM32Cube IDE, please reference the following blog post.
For more information or further clarification on steps to update STM32WB wireless stacks, please contact PEmicro Technical Support.