cancel
Showing results for 
Search instead for 
Did you mean: 

BLE Stack firmware for STM32WB55

AKwiek
Associate II
 
12 REPLIES 12
Remi QUINTIN
ST Employee

It is located there STM32Cube_FW_WB_V1.13.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x but you may have to apply the V1.13.1 which is a patch containing this stack.

Extract from the release notes:

tm32wb5x_BLE_Stack_full_extended_fw.bin

  • Full BLE Stack 5.2 certified : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database
  • BT SIG Certification listing : Declaration ID D042164
  • Following features are kept:
    • GAP peripheral, central (LL Master up to 6 links with Slave up to 2 links/ Master up to 7 links with Slave up to 1 links/ Master up to 8 links )
      • BLE Extended advertizing (under application flag selection with predefined fixed configuration: 2 sets maximum number, 1650 bytes maximum advertizing data length)
    • GATT server, client
    • Data length extension
    • 2Mbit PHY / PHY update
    • Privacy
    • White list
    • Legacy Pairing, LE secure connections
    • HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin)
    • Direct Test Mode
    • L2CAP connection oriented channels support (IP over BLE enabler)
    • Channel selection #2 (under application flag selection)

Remi QUINTIN
ST Employee

One last point that may be of interest for you.

Once launched, the wireless stack updates its characteristics: type, size,... in the Digital Information Table located in SRAM.

You can call SHCI_GetWirelessFwInfo function in shci.c to get Device Information

Table data.

Remi QUINTIN
ST Employee

Extract from AN5289 chapter 4.10 Device information table

As soon as the System Ready Event is received from the CPU2, the device information table (DIT) can be read from the SRAM2A.

The DIT has a different mapping when filled by the FUS (see [6]) or by the wireless firmware.

The system command SHCI_GetWirelessFwInfo() can decode the two DIT mappings.

The DIT address can be found at the start of SRAM2 (+ IPCCDBA offset – user option byte). Unless modified by the user, IPCCDBA is always set to 0, hence the DIT address can be found at the first address of SRAM2A.

uint32_t Safe Boot Version Safe boot version

uint32_t FUS Version FUS version

uint32_t FUS MemorySize Memory required by the FUS

uint32_t FusInfo Reserved - Set to 0

uint32_t Wireless Firmware Version Wireless firmware version

uint32_t Wireless Firmware MemorySize Memory required by the wireless firmware

uint32_t InfoStack Wireless firmware information