STM32WB Bluetooth® LE – Wireless Stack Information

Revision as of 10:44, 2 June 2022 by Registered User (→‎STM32WB5x/STM32WB3x)

1. STM32WB - Bluetooth® LE Coprocessor Binaries

This is a description about the Bluetooth® LE Wireless stack available for the secure CM0+ coprocessor of the STM32WB.
Most of the information can be found within the Release Note for STM32WBxx Copro Wireless Binaries.
For more information on how to bring up the hardware to run simple Bluetooth® LE application check the Bluetooth® LE hardware setup page.

1.1. Link between wireless coprocessor binaries and Bluetooth® LE stack variant

STM32WB_BLE_Wireless_Interface.html [1] file and AN5270 [2] show which Application Commands Interface (ACI) and Host Commands Interface (HCI) are supported according to Bluetooth® LE stack variant. The following table shows the correspondence between the wireless coprocessor binaries and Bluetooth® LE stack variant:

Link between wireless coprocessor binaries and Bluetooth® LE stack variant
Wireless coprocessor binary Variant of the Bluetooth® LE stack Binary size v1.14.0
stm32wb5x_BLE_Stack_full_extended_fw.bin - 178 KB
stm32wb5x_BLE_Stack_full_fw.bin BF = Basic Features 147 KB
stm32wb5x_BLE_Stack_light_fw.bin PO = Peripheral Only 116 KB
stm32wb5x_BLE_HCILayer_extended_fw.bin LO = Link Layer Only 93 KB
stm32wb5x_BLE_HCILayer_fw.bin LB = Link Layer Only Basic 71 KB
stm32wb5x_BLE_HCI_AdvScan_fw.bin BO = Beacon Only 35 KB

The following wireless coprocessor binaries for concurrent mode are based on Bluetooth® LE Full Stack:

  • stm32wb5x_BLE_Mac_802_15_4_fw.bin
  • stm32wb5x_BLE_Thread_dynamic_fw.bin
  • stm32wb5x_BLE_Thread_static_fw.bin
  • stm32wb5x_BLE_Zigbee_FFD_dynamic_fw.bin
  • stm32wb5x_BLE_Zigbee_FFD_static_fw.bin
  • stm32wb5x_BLE_Zigbee_RFD_dynamic_fw.bin
  • stm32wb5x_BLE_Zigbee_RFD_static_fw.bin

1.2. CubeWB v1.14.0 - Bluetooth® LE Wireless stack Summary

For Bluetooth® LE applications, 6 binaries are available and certified BLE 5.3. According to the type of application, the size of the flash, it is up to the developer to load the right binary:

BLE Stack 5.3 Certified GAP Peripheral GAP Central GATT Server GATT Client PHY 2M Data Length Extension Legacy Pairing, LE secure connection Privacy Filter Accept List HCI Interface Direct Test Mode L2CAP Connection Oriented channels support Channel Selection #2 Extended Advertising Scanning BT SIG Declaration ID
Full Extended id123456
Full Reduced id123456
Light Reduced id123456
HCI Extended id123456
HCI id123456
AdvScan Reduced id123456
  • stm32wbxx_BLE_Stack_full_extended_fw.bin - Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
    • To be used for Adverting/Scanning Extension - Full HCI/ACI/DTM commands/Event support
    • To be used for GAP Central/Peripheral & GATT Server/Client applications
    • support up to 8 connections with maximum 2 links as Slave
  • stm32wbxx_BLE_Stack_full_fw.bin - Link Layer, HCI reduced, L2CAP, ATT, SM, GAP and GATT database
    • To be used for GAP Central/Peripheral & GATT Server/Client applications
    • support up to 8 connections with maximum 2 links as Slave
  • stm32wbxx_BLE_Stack_light_fw.bin - Link Layer, HCI reduced, L2CAP, ATT, SM, GAP(limited) and GATT(limited) database
    • To be used for GAP Peripheral & GATT Server applications
    • support up to 2 links as Slave
  • stm32wbxx_BLE_HCILayer_fw.bin - Link Layer, HCI, DTM
    • To be used for BLE Host Stack running on CM4 application processor (Arduino, Zephyr,..)
  • stm32wbxx_BLE_HCILayer_extended_fw.bin - Link Layer, HCI, DTM, Extended Advertising/Scanning
    • To be used for BLE Host Stack running on CM4 application processor (Arduino, Zephyr,..)
  • stm32wbxx_BLE_HCI_AdvScan_fw.bin - Link Layer, HCI reduced
    • To be used for advertising and scanning through HCI interface

1.3. Stack Extended Information

To use extended binaries, it is necessary to adapt the scatter file in the BLE applications

1.3.1. STM32WB5x/STM32WB3x

  • The RAM_A shared range shall be reduced to memory range [0x20030000:0x200307FF]
  • The Mail-box buffers(MB_MEM1, MB_MEM2) shall be located in RAM_B shared defined in memory range [0x20038000:0x2003A7FF]
  • The RAM_B shared shall be added to Total_RAM_region
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
define symbol __ICFEDIT_region_RAM_SHARED_end__   = 0x200307FF;

define symbol __ICFEDIT_region_RAM_B_SHARED_start__ = 0x20038000;
define symbol __ICFEDIT_region_RAM_B_SHARED_end__   = 0x2003A7FF;
define region RAM_B_SHARED_region = mem:[from __ICFEDIT_region_RAM_B_SHARED_start__   to __ICFEDIT_region_RAM_B_SHARED_end__];

define region Total_RAM_region  = RAM_region | RAM_SHARED_region | RAM_B_SHARED_region;

place in RAM_B_SHARED_region { section MB_MEM1};
place in RAM_B_SHARED_region { section MB_MEM2};

1.3.2. STM32WB1x

  • The RAM_A shared range shall be reduced to memory range [0x20030000:0x20030FFF]
define symbol __ICFEDIT_region_RAM_SHARED_start__ = 0x20030000;
define symbol __ICFEDIT_region_RAM_SHARED_end__   = 0x20030FFF;

1.4. CubeWB Application & Bluetooth® LE Stacks association

The following table shows the Bluetooth® LE stack to be used for the different applications available within the CubeWB package TO BE UPDATED

Bluetooth® LE stack and Application compatibility
Applications / Stack Full Extended Full Light HCI Extended
BLE_AT_Server
BLE_Beacon
BLE_BloodPressure
BLE_CableReplacement
BLE_DataThroughput
BLE_HealthTermometer
BLE_HeartRate - All
BLE_Hid
BLE_Ota
BLE_P2P_Client
BLE_P2P_Client_Ext
BLE_p2pRouter
BLE_p2pServer
BLE_p2pServer_Ext
BLE_Peripheral_Lite
BLE_Proximity
BLE_RfWithFlash
BLE_Sensor
BLE_MeshLightingLPN
BLE_MeshLightingPRFNode
BLE_MeshLightingProvisioner
BLE_Mesh_Model_Sensor
BLE_Mesh_Thermometer_Sensor
BLE_TransparentMode

2. References

No categories assignedEdit