With the release of Cyclone software v11.70 and PROG v10.00, PEMicro’s development and production tools now support additional Wireless Stack features for the STM32WB5x, STM32WB3x, and STM32WB1x devices. The latest PROG and Cyclone support now enables selecting .BIN files for the FUS Operator, Wireless Stack, or the FUS FW. A new command has been added to start the wireless stack in case the FUS begins running. In PROGACMP, there is an additional command to read the FUS FW version from the target to determine which FUS FW version to upgrade. Instructions on Wireless Stack Support: Before using our tools, please review ST's wiki article regarding the STM32WB Firmware Upgrade Service (FUS). This details how the FUS support works and the process of upgrading the wireless stack. Additionally, download the necessary files for the target device from the STM32CubeWB STM32WB_Copro_Wireless_Binaries git repo. The FUS Operator files V3.1 are attached for 0x495_FUS_Operator.bin used by the STM32WB5x and STM32WB3x devices and the 0x494_FUS_Operator.bin used by the STM32WB1x devices. For new FUS Operator support if needed, the files can be located in the latest STM32CubeProgrammer support files. 1. Update FUS Firmware: The first step in the process is to update the FUS Firmware to the latest version. This step is necessary if intending to use the latest Wireless Stack provided by the ST git repo. If using a legacy version of a Wireless stack, then ensure the compatible FUS firmware version is installed for the respective Wireless Stack version. In PROGACMP, connect to the target, select the main algorithm (i.e. ST_STM32WB55RG_1MB.arp or ST_STM32WB35VC_256kB.arp), and choose the FUS Operator with command 'CF ;Choose FUS Operator File'. Enter the device flash base address, "08000000", for the FUS Operator bin file address and confirm. Next, select the command 'FV ;Get FUS Version' to display the current FUS FW version. The FUS FW Version is shown in the window here after the 'FV' command runs. PROGACMP Command with STM32WB55RG to get FUS Firmware: Once the version is confirmed, the correct FUS FW file can be selected. The following steps to upgrade the FUS FW can be performed on either PROGACMP or in Cyclone Image Creation for SAP images. On the STM32WB5x/3x, the current FUS FW version determines which FUS FW file to select. Starting at FUSv0.5.3, the FUS needs to be upgraded to v1.2.0 then to v2.2.0. using the specified files from the GIT repo. The compatible FUS FW version to upgrade file is detailed in the wiki table for the STM32WB5x/3x. The STM32WB1x is unique where it only needs the stm32wb1x_FUS_fw.bin file to upgrade to the latest support. Upgrading the FUS FW is handled in the same manor as the wireless stack, so the 'CW Choose Wireless Stack File' command is used with the right FUS FW file selected. The base address for the FUS FW is based on the selected FUS FW file and the target device memory size. After selecting the FUS FW file and base address, the 'UW ;Upgrade Wireless' command is selected to update the FUS FW. After the upgrade finishes, which can take ~15 seconds, the device might need to updated again if the FUS was originally v0.5.3. If so, select 'CW ;Choose Wireless' again and select the next FUS FW file for v2.2.0 and repeat the upgrade process. Commands for Upgrading STM32WB55RG FUS Firmware: The final FUS Firmware version can be verified in PROGACMP with "FV Get FUS Version". For the latest FUS firmware version, the returned value should be version 2.2.0. If any issues occur while upgrading, see the troubleshooting section below. 2. Programming Wireless Stack With the FUS up to date, the process of programming or updating the wireless stack is the next step. Similarly to the FUS Firmware, the first steps are to 'CM ;Choose Module' the main algorithm and select the FUS operator for the target device with 'CF ;Choose FUS Operator' and device base address. If a wireless stack has not been programmed in the target, then the desired wireless stack can be directly programmed to the target without deleting. If a wireless stack is already programmed in the target, then the 'DW ;Delete Wireless Stack' command should be done first. Alternatively, the process to upgrade the wireless stack without deleting can be followed as documented below. To check if a wireless stack is installed in PROGACMP, the 'SW ;Start Wireless Stack' command can be attempted and should fail if the stack is not installed. To program the wireless stack, select the 'CW; Choose Wireless Stack file' and select the necessary wireless stack firmware file. The base address of the wireless stack file depends on the file and the target device. See the list below for all the relevant starting addresses for each device and wireless stack file: STM32WB5x Wireless Stack Files (from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html) STM32WB3x Wireless Stack Files (from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html) STM32WB1x Wireless Stack Files (from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html) After selecting the wireless stack firmware and entering the base address, the last step is to run the 'UW ;Upgrade Wireless Stack' command. Once the command finishes successfully, the Wireless stack will be installed and running on the target, so the application can be programmed next. If there is an issue with the wireless stack running after installing the application or upgrading the stack, then the 'SW Start Wireless Stack' command can be run to start the wireless stack again. 3. Upgrade Wireless Stack without Deleting With the FUS Operator, there is a method to upgrade the wireless stack without deleting it. This is handled by offsetting the base address of the new wireless stack from the old wireless stack base address. The address to use can be calculated from this table: The procedure to upgrade the Wireless Stack without deleting follows the same procedure as above. The primary difference is that it does not require the "DW Delete Wireless Stack" command and the selected address for the CW Choose Wireless Stack bin file needs to be calculated. It is generally recommended to use the method with deleting when upgrading the wireless stack, however this option can save time by skipping the delete step. Overall Flow of Upgrading FUS Firmware and Wireless Stack: The following details the necessary commands for upgrading the FUS firmware, wireless stack, and application on a target STM32WB55RG. These steps can be replicated on both PROGACMP or with a SAP Image for Cyclone. Assume that the target is in a factory state with FUS Firmware v0.5.3 and blanked application flash and wireless stack. # First Upgrade the FUS Firmware # Install the Wireless Stack # Program Application Troubleshooting: If a programming error occurs when running the upgrade wireless stack command for the FUS firmware or wireless stack: If application is not working properly after programming the wireless stack:
STM32WB5x STM32WB5xxG(1M) STM32WB5xxY(640K) STM32WB5xxE(512K) STM32WB5xxC(256K) Version stm32wb5x_FUS_fw_for_fus_0_5_3.bin 0x080EC000 0x0809A000 0x0807A000 0x0803A000 V1.0.0 stm32wb5x_FUS_fw_1_2_0.bin 0x080EC000 0x0809A000 0x0807A000 0x0803A000 V1.2.0 stm32wb5x_FUS_fw.bin 0x080EE000 0x0809A000 0x0807A000 0x0803A000 V2.2.0 STM32WB3x STM32WB3x(512K) STM32WB3x(256K) Version stm32wb3x_FUS_fw_for_fus_0_5_3.bin 0x0807A000 0x0803A000 V1.0.0 stm32wb3x_FUS_fw_1_2_0.bin 0x0807A000 0x0803A000 V1.2.0 stm32wb3x_FUS_fw.bin 0x0807A000 0x0803A000 V2.2.0 STM32WB1x stm32wb1x(320K) Version stm32wb1x_FUS_fw.bin 0x08040000 V1 



Tags related to this Blog Post
STMicroelectronics