Over-the-air application and wireless firmware update for
STM32WB Series microcontrollers
Introduction
This document describes the procedure for over-the-air (OTA) firmware update on ST32WB
devices with Bluetooth
application provided within the STM32Cube firmware package.
This application can update the user application, the wireless firmware and the firmware
upgrade service.
®
Low Energy (BLE) connection. It explains how to use the OTA
UM2288:STM32CubeMonitor-RF software tool for wireless performance
measurements
All these documents are available on www.st.com.
®
Low-Energy and 802.15.4 radio solution
®
-based Cortex®-M4 with FPU,
6/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
MS51778V3
Wireless stackFUS
BLE user
application
OTA
application
CPU2
CPU1
Updatable by
OTA
Not updatable
by OTA
3 OTA application on STM32WB devices
3.1 Over-the-air firmware update
3.1.1 Principle
Updating firmware during device lifetime is mandatory to guarantee state-of-art
performance, to update the application with new features or corrected patches, and to keep
the highest security level.
User application, wireless firmware and FUS update
The STM32WB Series microcontrollers are based on a dual Arm
®(a)
core.
The user application runs on CPU1 (Cortex® M4), while wireless firmware and FUS run on
CPU2 (Cortex
As wireless and FUS are delivered in encrypted format, their update procedure relies on the
STM
32WB secure firmware for decryption and installation in the protected area of the Flash
memory.
®
M0+). The three applications can be updated independently.
Figure 1. STM32WB dual core FW architecture
Over the air
Update of firmware can be done thanks to typical physical links such as USB, UART or I2C
but this procedure requires a physical access with specific connectors on the device.
Thanks to OTA it is possible to remotely update the firmware by using a wireless connection.
In this application note, the wireless connection uses the BLE protocol.
a. Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
AN5247 Rev 37/36
35
OTA application on STM32WB devicesAN5247
Update clients
Update procedure follows a client/server architecture. It is initiated by an external client and
the device acts as a server, responding to the request by installing the new firmware.
In this application note two examples (see Figure 2) of BLE-based OTA clients provided by
STMicroelectronics are presented:
ST BLE Sensor: a mobile application for Android™ or iOS devices
STMCubeMonitor-RF: a PC tool communicating with a BLE USE dongle configured in
HCI transparent mode
Figure 2. Update of STM32WB firmware through BLE connection
8/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
MS51780V1
System reset
OTA request?
Application
update service
Wireless
update service
RSS wireless
update service
OTA clientUser app
3 Reboot service
2 OTA request
4 Yes
1 No
6 User FW or
wireless stack
update request
7 Update
5 OTA app active
OTA appOTA client
3.1.2 OTA application
OTA application is designed as a standalone application with BLE services for managing
firmware transfer on client request, and its installation at the right place in the Flash memory.
It is active and executed by CPU1 after an OTA request has been received by the user
application.
The sequence is shown in Figure 3, where the numbers in red indicate the different stages.
Initial state is the user application running (1). When an OTA request is received (2), a
system reset is triggered (3) and the OTA application becomes active (4) listening for client
requests (5). Different services are provided for the update of wireless firmware or user
application (6 and 7).
Figure 3. OTA procedure sequence
Note:With this firmware architecture, the current user application is responsible for receiving OTA
requests for both the user application and the wireless firmware. This is the entry point of
the procedure. OTA application then communicates with the client to update either one or
the other firmware.
3.1.3 Memory architecture
The Flash memory of STM32WB is split in two parts, a user and a secure one. The user part
is accessible by CPU1 and contains the OTA application as well as the user application
code and data. The secure part is accessible by CPU2 only, and contains FUS and the
wireless firmware. This part is not accessible by the debug port, by the user application or
by the bootloader. The boundary between the two areas is given by the option byte SFSA,
the memory above is secure (see
firmware size, it is adjusted during the install procedure.
Figure 4). The SFSA value depends on the wireless
AN5247 Rev 39/36
35
OTA application on STM32WB devicesAN5247
MS51781V2
OTA application
User data
User application
Free area
Wireless FW
FUS
Flash memory
SFSA
CPU2
CPU1
0x080000000
0x080FFFFF
SecureUser part
The location of firmware involved on the OTA procedure is shown in Figure 4.
Figure 4. Simplified memory map of applications
FUS
FUS is stored at the top of the Flash memory. It embeds the secure firmware for wireless
firmware decryption and authentication. It also offers a secure storage for cryptographic
keys. Refer to
[2] for a detailed description of its features.
Wireless firmware
It is stored just below FUS. This firmware drives the RF part of the MCU. Several protocols
are supported: full BLE stack, BLE HCI only layer, Thread MTD, Thread FTD, concurrent
mode (BLE + Thread FTD) and MAC 802.15.4 (low-level access to RF MAC). All stacks are
available on www.st.com.
For BLE, the stack implements the real-time aspects. It contains the LE controller and LE
host needed to manage all real time link layer and radio PHY interaction (
Figure 5).
10/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
Figure 5. BLE application and wireless firmware architecture
User application and data
This is the main user application. It is the applicative part of the device, implementing the
BLE profiles and services relying on a wireless protocol. Communication between the user
application and the wireless part is done through a mailbox system implemented thanks to
the SRAM2 and IPCC hardware blocks (
application in the user Flash memory.
For convenience, a sector for application data not be erased during firmware update can be
reserved between the two applications.
Note:A free area of the Flash memory must be available for the new wireless image download in
case of updates.
AN5247 Rev 311/36
Figure 5). It is stored just above the OTA
35
OTA application on STM32WB devicesAN5247
MS51782V2
Current application
removal
OTA application
Free area
FUS + Wireless
SFSA
OTA application
BLE user
application
Free area
FUS + Wireless
SFSA
Initial state
OTA application
New BLE user
application
Free area
FUS + Wireless
SFSA
Download of new
application
OTA application
It is stored in the six first sectors of the Flash memory ([0x08000000: 0x08006000]). It is the
active process just after a system reset (CPU1 boot address is at the beginning of the Flash
memory). If no OTA request has been issued, the application jumps directly to the user
application after having checked it has been fully programmed, otherwise the OTA
application is running and is ready to receive commands from the client.
Note:OTA application must be not be removed; if a problem occurs during the procedure, the
device cannot recover. It is advised to set a write protection around the OTA application.
3.1.4 User application update
Figure 6 shows the sequence of operation performed by OTA application once a request
has been sent for user application update.
Figure 6. User application update
3.1.5 Wireless firmware update
12/36AN5247 Rev 3
First, the sectors receiving the new firmware are deleted. This procedure is mandatory to be
able to reprogram the Flash memory. It is advised to write-protect areas containing
application data that need to remain unchanged.
The second step consists in downloading the new image. When firmware transfer is
complete, OTA application jumps to the new application.
Wireless firmware is delivered encrypted and signed. A secure FUS firmware is required to
decrypt the stack and install it within the secure part of the Flash memory.
First step of the wireless installation is the same as for user application: sectors of the user
Flash memory needed to store the encrypted image are deleted (“Free area” in
In the second step, OTA application downloads the encrypted stack (including the new
firmware, in gray in
Figure 7) and FUS update service is requested.
Figure 7).
AN5247OTA application on STM32WB devices
MS51783V2
Download of new
encrypted stack
OTA application
Encrypted new
wireless FW
SFSA
OTA application
BLE user
application
Free area
Current
wireless FW
SFSA
Initial state
OTA application
BLE user
application
Free area
SFSA
Decryption and
installation of new stack
FUS
BLE user
application
Current
wireless FW
FUS
New
wireless FW
FUS
The third step is performed by the FUS running on CPU2. It authenticates, decrypts and
installs the stack. Option bytes related to security boundary (SFSA, SBRSA and SNBRSA)
and reset vector (SBRV) are automatically set at the end of the install.
The current wireless firmware is replaced only after all authentication and integrity checks
have been passed to secure the connection capability of the device.
Figure 7. wireless firmware update
3.2 BLE service and characteristics for firmware update
3.2.1 BLE application – Reboot request characteristics
BLE service and characteristics
The user application considered in this application note is a BLE application. It supports
specific GATT services: either standard ones defined for SIG profiles (such as beacon, heart
rate) or user-defined ones. These services own a set of characteristic values with specific
access rights.
The developer has the possibility of extending the number of characteristics used by a
service, even the standardized ones. In order to call the OTA application from the user a
“reboot characteristic” (yellow box in
application. When this characteristic is written by the client through the BLE protocol the
user application jumps to the OTA application.
Figure 8) is added to a service supported by the
AN5247 Rev 313/36
35
OTA application on STM32WB devicesAN5247
BLE user application
Service #n
MS51784V1
Characteristics
Service #0
Characteristic #m
Characteristic #0
Characteristic #1
Reboot request
characteristic
Figure 8. OTA reboot characteristic added in BLE user application
Reboot request
Reboot request has three different fields to be notified by the client:
1. the boot mode, either user application restart or jump to OTA application
2. the first sector index where the new application is downloaded
3. the number of sectors to be deleted (size of new firmware with 4 KBytes granularity
The service in which the characteristic is included depends upon the user application.
Service
One of the BLE
user application
Characteristics
Base address
UUID-
FunctionRequest device reboot for OTA application
Size3
ModeWrite
UUID0000FE11-8e22-4541-9d4c-21edae82ed19
Fields
Table 1. Reboot request characteristics
0Boot Mode:
1Sector Index0xXX -> 0x080XX000
3Number of sectors to erase0x00 – 0xFF
0x00 Application
0x01 OTA application
14/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
3.2.2 OTA application - Service and characteristics
OTA application is a standard BLE application. It provides a specific service with
characteristics to fulfill the update.
Service
Table 2. OTA Service and characteristics declaration
OTA FW
Update
Characteristics
Base address
File upload
confirmation
reboot
UUID0000FE20-cc7a-482a-984a-7f2ed5b3e58f
FunctionAddress to store the file
Size4
ModeWrite
UUID000FE22-8e22-4541-9d4c-21edae82ed19
0x00: STOP all upload
0x01: START wireless file upload
Fields
0Actions
1-3Address0x007000
FunctionConfirm the reboot of the application after file uploaded
This service is recognized by the client application after an advertising sequence.
3.2.3 Advertising
Availability of the reboot request has to be advertised when the connection between the
device and the client is established.
The information is added in a manufacturer specific advertising field (type 0xFF). The
encapsulated structures are described in the next tables. Reboot request capability is
specified in GroupB features (bit 13).
Size20
ModeWrite without response
UUID0000FE24-8e22-4541-9d4c-21edae82ed19
Fields0-19Raw data
AN5247 Rev 315/36
35
OTA application on STM32WB devicesAN5247
Table 3. AD structure - Main
AD Field NameAD TypeAD LenRecord size
TX_POWER_LEVEL0x0A23
COMPLETE_NAME0x0989
MANUF_SPECIFIC0xFF1314
FLAGS0x0123
Table 4. AD structure - Manufacturer specific field
ByteNameValueComment
0Length8-
1Type0xFFManufacturer specific
2Version0x01-
3ID0x00 - 0xFF0x86 for OTA loader
4
Feature group A
Reserved
5
Bit field
6
Feature group B0x20 for OTA enabled device
7
8-13Public device addressBytesOptional
Bit(s)Field
15Reserved
14Thread support
13OTA reboot request
12-0Reserved
3.3 Flow description
Figure 9 details the messages and data exchanges between the device and the client during
an update procedure.
The first connection is made by the user application. It advertises a Reboot request
characteristic to the client (step 1). When the client requests for a device reboot a new
connection is established, this time between OTA application and the client (step 2).
Table 5. AD structure – Group B features
16/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
Figure 9. OTA dataflow
3.4 Wireless and FUS update procedure
Wireless stack and FUS are encrypted. After their download a FUS service is called to
decrypt and install at the right place the new firmware.
The new wireless stack may be moved from its download area by FUS to optimize memory
space.
If the new FUS image size is larger than existing one, the upgrade may result in moving the
wireless stack lower in Flash memory (address defined by FUS). If a user code is written in
the sectors close to the wireless stack start sector, these sectors risk to be erased during
this operation. For details refer to
[2].
AN5247 Rev 317/36
35
OTA application on STM32WB devicesAN5247
3.5 Updater clients
OTA request comes from a BLE client with dedicated applications. STMicroelectronics
provides two clients with this capability:
1.ST BLE Sensor, a mobile application that supports both types of update (application
and wireless firmware)
2. STM32CubeMonitor RF, a PC tool that allows the user to update its application with a
dongle featuring a BLE transparent mode implementation.
3.5.1 ST BLE Sensor
The ST BLE Sensor application is used in conjunction with an ST development board and
firmware compatible with the BLE protocol. It gives access to all sensor data available on
board that can be logged to different cloud providers. It supports also the firmware OTA
update procedure.
The application is available on both App Store® and Google Play™ (Figure 10). In addition,
both SDK and application source code are freely available at dedicated pages on
https://github.com.
Figure 10. ST BLE Sensor mobile application
18/36AN5247 Rev 3
AN5247OTA application on STM32WB devices
3.5.2 STM32CubeMonitor-RF
STM32CubeMonitor-RF (Figure 11) is a software tool, which helps designers to test their
products based on STM32 microcontrollers.
Figure 11. STM32CubeMonitor-RF
The tool performs the following operations:
sends and receives test packets to check the efficiency of radio frequency boards and
compute packet error rate (PER)
sends commands to a Bluetooth
®
low energy (BLE) controller for standardized tests
sends and receives BLE commands for fast application prototyping
configures a variety of beacons via BLE commands
transfers data over-the-air (OTA) from one device to another, in order to configure or
program a remote device without wired connection
sends commands to an OpenThread device for application prototyping.
STM32CubeMonitor-RF is usually connected to the targeted device STM32WB device
through UART (physical link). OTA operation however requires the use of a STM32WB55
USB dongle loaded with a special firmware called ‘transparent mode’ (
Figure 12). Data and
command sent/received by the PC tool are directly transmitted to the HCI interface of the
device to be updated. The firmware of “transparent mode” application is provided within
STM32Cube_FW_WB package.
AN5247 Rev 319/36
35
OTA application on STM32WB devicesAN5247
Transparent mode
Device to be updated by OTA
Figure 12. STM32CubeMonitor-RF with USB dongle in transparent mode
The OTA procedure with STM32CubeMonitor-RF is detailed in Section 4.3.
20/36AN5247 Rev 3
AN5247OTA step by step
MS52611V1
4 OTA step by step
This section describes how to update firmware of a STM32WB device on Nucleo-WB55RG
board. Two use-cases are described:
1.user application with ST BLE Sensor mobile application
2. user application with STM32CubeMonitor-RF tool and USB dongle.
Three applicative projects plus the dongle transparent mode firmware (highlighted in
Figure 13) are considered in this document. They are all provided within the
STM32Cube_FW_WB package available on www.st.com.
The target device is a Nucleo board, porting to all STM32WB devices and boards is
straightforward.
Figure 13. Applicative projects
AN5247 Rev 321/36
35
OTA step by stepAN5247
MS51786V2
OTA application
SFSA
OTA application
Peer to peer
server
(~30 Kbytes)
Free area
Wireless FW
SFSA
FUS
Heart rate profile
(~12 Kbytes)
Wireless FW
FUS
Free area
4.1 Project setup
4.1.1 User applications
The example developed here considers a device functionality modification. The device is
initially programmed with peer-to-peer server application then, after the update, it supports
the typical heart rate profile (
Figure 14. User application update - Use case
Figure 14).
Both are BLE applications providing services, with the characteristics defined in Ta bl e 6.
A Reboot request, as defined in Section 3.2.1 is added to their main service. Even if the
use-case presented here uses this capability for the peer-to-peer server, it is added in the
Heart profile too for future updates.
ApplicationService (UUID)Characteristics
Peer-to-peer server
Heart rate SIG profile
Table 6. Services and characteristics of example applications
#define BLE_CFG_OTA_REBOOT_CHAR 1 /**< REBOOT OTA MODE
CHARACTERISTIC */
Change linker file
To take into account the new memory placement of the user application (above OTA
application), the linker file must be modified. The binary is generated with a reset vector
moved up from seven sectors.
IAR™ ICF file
A four bytes offset on SRAM1 is added because the first 32-bit word is used by the “Reboot
request” characteristic to indicate an OTA request after a system reboot.
/*-CPU Vector Table- Without OTA support*/
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
define symbol __ICFEDIT_region_RAM1_start__ = 0x20000004;
define symbol __ICFEDIT_region_RAM1_end__ = 0x2002FFFF;
/*-CPU Vector Table- With OTA application*/
define symbol __ICFEDIT_intvec_start__ = 0x08007000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08007000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
define symbol __ICFEDIT_region_RAM1_start__ = 0x20000004;
define symbol __ICFEDIT_region_RAM1_end__ = 0x2002FFFF;
Keil® scatter file
/*-CPU Vector Table- Without OTA support*/
LR_IROM1 0x08000000 0x00080000 { ; load region size_region
When the application is expected to be downloaded by OTA, the SCB→VTOR must be not
modified as it has already been set to the correct value by the BLE_Ota application before
jumping to the current application.
Comment out this line of code in SstemInit():
// SCB->VTOR = VECT_TAB_OFFSET;
Compilation and programming
Compile and download peer-to-peer application in the Nucleo board.
Compile Heart rate application. The generated binary is downloaded by the OTA client. With
EWARM IDE, the file is available in the project under EWARM/with_ota/Exe directory
BLE_HeartRate_ota.bin.
Copy this binary to the smartphone running the ST BLE Sensor application.
4.1.2 OTA application
OTA application setup is straightforward. Compile and download the binary at the beginning
of Flash memory (0x08000000).
To check if the full firmware has been written, a magic keyword is written at the end of the
firmware. At startup, the Ble_Ota application checks whether this magic keyword is there or
not at the end of the application thanks to CheckFwAppValidity() function.
In case of a reset during upload (which could result in a partial image to be written), the
magic keyword is not there and the corrupted application is ignored by the Ble_Ota startup.
As the application length information is not present, the address of the magic keyword is
written at address 0x0800 7140.
24/36AN5247 Rev 3
AN5247OTA step by step
To make the calculation transparent to the user, two constants are defined in the firmware:
one holds the address of the magic keyword and is associated with section
TAG_OTA_START
the other one holds the magic keyword and is associated with TAG_OTA_END.
4.2 Firmware update with ST BLE Sensor
4.2.1 Device connection
Check the device correct behavior by initiating a Peer-to-peer connection with the
smartphone hosting ST BLE Sensor application.
Device Bluetooth MAC address
MAC address of Nucleo board is set from the device unique ID. It can be retrieved at
addresses 0x 0x1FFF7580 and 0x1FFF7584.
Table 7. Example (device Bluetooth MAC address = 80:E1:25:00:50:D6)
Register addressValueField
0x1FFF75800xXX0050D6LSB part of MAC @
0x1FFF75840xXX80E125MSB part of MAC @
AN5247 Rev 325/36
35
OTA step by stepAN5247
2
1
Connection
Follow the steps listed below.
1.Press the reset button (SW4) of the Nucleo board to start the device advertising
(peripheral role).
Note:The green led (LED2) of the Nucleo board has to blink during the smartphone scan. If this is
not the case, it is because the advertising stops after 1 minute. Press the Nucleo board
reset button (SW4) to start again the advertising.
2. The smartphone plays the central role, it must scan to detect the device. Click on
“Connect to a device”. A device named “P2PSRV1” is detected, as shown in
Check that the BD Address corresponds to your board.
Figure 15. Peer-to-peer server device detection
Figure 15.
3. Click on “P2PSRV1” to create the connection with the Nucleo board.
4. When the application main menu appears, the smartphone and the Nucleo board are
connected.
5. LED1 (blue) of Nucleo board can be switched on and off by clicking on the LED picture
(
Figure 16).
26/36AN5247 Rev 3
AN5247OTA step by step
Figure 16. Peer-to-peer application / LED switch
AN5247 Rev 327/36
35
OTA step by stepAN5247
4.2.2 Update of user application
After checking the peer-to-peer functionality, swipe to the left to get the firmware Update
panel (left side of
bottom. You do not need to select the file name at this step.
Re-scan to find the new service (right side of Figure 17). Note that Bluetooth MAC address
is intentionally modified for OTA application by increasing the first byte. This is to ensure that
the client launches a new discovering phase to detect new services.
Figure 17. Firmware update ST BLE Sensor panel and OTA service detected
Figure 17). Select “Application” and click on the Reboot sign at the screen
28/36AN5247 Rev 3
AN5247OTA step by step
After connection with STM_OTA application (Figure 18), enter the address where the new
application is downloaded (0x7000 in this case).
Choose “Select File” and enter the heart rate application binary that you have transferred
before in the smartphone. Select the download button; the progress of the upload appears
on the screen and finally a pop up window is displayed with the time elapsed (see the right
side of
Figure 18).
Figure 18. Download of new application
Connect again to the device (same initial Bluetooth address) and verify the functionality
(
Figure 19).
AN5247 Rev 329/36
35
OTA step by stepAN5247
Figure 19. Heart rate profile after update
30/36AN5247 Rev 3
AN5247OTA step by step
4.2.3 Update of wireless stack or FUS
For CPU2 firmware upgrade, select “Wireless Coprocessor Binary” option (left side of
Figure 20) and select the right binary. Wireless stack and FUS firmware are delivered in
STM32Cube_FW_WB packages available on https://github.com or on www.st.com.
Once downloaded (right side of Figure 20), the new firmware is decrypted and installed by
the current FUS.
Figure 20. Update of wireless stack or FUS
4.3 Firmware update with STM32CubeMonitor-RF
4.3.1 Transparent mode
STM32CubeMonitor-RF transmits HCI commands and data to the targeted Nucleo board
through a Bluetooth device to simulate a true OTA application. The USB dongle, provided
with the Nucleo STM32WB package is configured in “transparent mode” for this purpose.
1.Open and compile ~\Projects\NUCLEOWB55.USBDongle\Applications\BLE\BLE_TransparentModeVCP project.
2. Once programmed, move back the BOOT0 switch to 0.
AN5247 Rev 331/36
35
OTA step by stepAN5247
The USB Dongle can be easily programmed in USB-DFU mode with STMCubeProgrammer
(version 2.0 and above) tool (
1 (to the right on Figure 21).
Figure 21. USB Dongle programming in USB DFU mode with STM32CubeProgrammer
Figure 21). To access DFU mode, move the BOOT0 switch to
4.3.2 Update of the user application
1.Open STM32CubeMonitor-RF and select the COM port emulated by the USB dongle.
Connect the device.
2. Make sure the Nucleo board is correctly configured with OTA application and peer-topeer server profile (
3. On the upper menu, click on “Device” and “OTA Updater”
4. Let the Advertising filter box selected and click on “SEARCH FOR DEVICES
5. At the end of the scanning, click on “Select device” and choose your device
(P2PSRV1-OTA enabled with the right Bluetooth address)
6. Select CPU1 for user application (Figure 22) or CPU2 for wireless or FUS update
(Figure 23).
7. Browse for the right binary file and select “Update”
Section 4.1)
32/36AN5247 Rev 3
AN5247OTA step by step
Figure 22. Update of the user application
Figure 23. Wireless or FUS update
AN5247 Rev 333/36
35
ConclusionAN5247
5 Conclusion
This document note shows how to update firmware using the BLE protocol.
OTA relies on a dedicated application embedded in the Flash memory in addition to the user
BLE application. The OTA service is called from the current user application following a BLE
request sent by one of the two clients provided by ST (mobile application and
STM32CubeMonitor-RF development tool).
The user application, the wireless firmware and the FUS can be updated independently.
34/36AN5247 Rev 3
AN5247Revision history
6 Revision history
Table 8. Document revision history
DateRevisionChanges
21-Feb-20191Initial release.
Updated Introduction, User application, wireless firmware and
FUS update, Section 4.2.2: Update of user application,
Section 4.3: Firmware update with STM32CubeMonitor-RF,
Section 4.3.2: Update of the user application and Section 5:
Conclusion.
Updated Table 2: OTA Service and characteristics declaration,
Table 4: AD structure - Manufacturer specific field, Table 6:
07-Jun-20192
Services and characteristics of example applications and Table 7:
Example (device Bluetooth MAC address = 80:E1:25:00:50:D6).
Figure 13: Applicative projects, Figure 15: Peer-to-peer server
device detection, Figure 17: Firmware update ST BLE Sensor
panel and OTA service detected, Figure 18: Download of new
application and Figure 19: Heart rate profile after update.
Added Section 3.4: Wireless and FUS update procedure and
Section 4.2.3: Update of wireless stack or FUS.
18-Feb-20213
Replaced RSS with FUS throughout the whole document.
Updated Section 1: Glossary, Section 3.1.1: Principle and
Figure 4: Simplified memory map of applications, Figure 6: User
application update, Figure 7: wireless firmware update and
Figure 14: User application update - Use case.
Minor text edits across the whole document.
AN5247 Rev 335/36
35
AN5247
IMPORTANT NOTICE – PLEASE READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and
improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on
ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order
acknowledgment.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or
the design of Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, please refer to www.st.com/trademarks. All other
product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.