Release Notes for

STM32WBxx CMSIS

Copyright © 2019 STMicroelectronics

Purpose

This driver provides the CMSIS device for the stm32wbxx products. This covers

This driver is composed of the descriptions of the registers under “Include” directory.

Various template file are provided to easily build an application. They can be adapted to fit applications requirements.

Specific consideration for available FLASH size inside linker file

The available flash size depends on the wireless binary used inside the STM32WB device.

The linker files templates for IAR, KEIL and GCC provide example of implementation which can be tuned.

You can refer to the below chapters to optimize the usage of the flash on your device.

STM32WB55xx, STM32WB50xx and STM32WB5M

The default linker file provided in “/Drivers/CMSIS/DeviceST/STM32WBxx/Source/Templates” allows the application to use 512KB of flash.

The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

The __ICFEDIT_region_ROM_end__ in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

Example:

Note:

STM32WB35xx and STM32WB30xx

The default linker file provided in "/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates allows the application to use 120KB of flash.

The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

The __ICFEDIT_region_ROM_end__ in the linker can be modified with a value up to : (0x08000000 + (SFSA << 12)) - 1.

Example:

Note:

STM32WB15xx and STM32WB10xx

The default linker file provided in "/Drivers/CMSIS/Device/ST/STM32WBxx/Source/Templates allows the application to use 110KB of flash.

The maximum flash memory that can be used by the application is up to the Secure Flash Start Address (SFSA) that can be read from the option byte.

The __ICFEDIT_region_ROM_end__ in the linker can be modified with a value up to : (0x08000000 + (SFSA << 11)) - 1 considering minimum CPU secure area size is one sector (2kBytes).

Example:

Note:

Update History

Main Changes

  • Update CMSIS devices drivers for all value lines not supporting SMPS
  • All source files and templates: update disclaimer to add reference to the new license agreement
  • Correct English spelling typos and remove non UTF-8 characters in comments

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.

Main Changes

  • Add atomic register access services:
    • 32-bit register access: ATOMIC_SET_BIT(), ATOMIC_CLEAR_BIT(), ATOMIC_MODIFY_REG()
    • 16-bit register access: ATOMIC_SETH_BIT(), ATOMIC_CLEARH_BIT(), ATOMIC_MODIFYH_BIT()
  • Update linker files templates for all IDE (.icf/.sct/.ld)
    • RAM start address has been updated from 0x20000000/0x20000004 to 0x20000008 to be aligned on a 8 byte boundary, and be compatible with ARM Compiler 6 (Keil MDK-ARM)
  • Add define LSI_STARTUP_TIME used in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT)
  • Add define FLASH_ECCR_CPUID bits for new macro __HAL_FLASH_ECC_CPUID() macro

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.

Main Changes

Add support for STM32WB15xx and STM32WB10xx

  • Change how to adapt VTOR for user

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.

Main Changes

Maintenance release

Maintenance release for STM32WBxx devices (stm32wb55xx, stm32wb50xx, stm32wb35xx and stm32wb30xx devices)

Fixed bugs headline
[STM32WB35] Remove EXTI_C2IMR2_IM43 and EXTI_IMR2_IM43
[STM32WB50] Remove RCC_CR_HSEBYP
[STM32WB55] Remove RCC_CR_HSEBYP
[STM32WB5M] Remove RCC_CR_HSEBYP

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.

Main Changes

Maintenance release

Maintenance release for STM32WBxx devices (stm32wb55xx, stm32wb50xx, stm32wb35xx and stm32wb30xx devices)

Fixed bugs headline
[All devices] Correct DMAMUX_CxCR_DMAREQ_ID_Msk
[All devices] Remove DMAMUX_CxCR_DMAREQ_ID_[6-7]
[All devices] Call SystemInit first in startup/Reset_Handler, so GCC code is similar to IAR/Keil
[STM32WB50xx and STM32WB30xx] Remove OR register from LPTIM_TypeDef
[STM32WB50xx and STM32WB30xx] Remove DMAMUX_CSR_SOF[7-13] and DMAMUX_CFR_SOF[7-13]
[STM32WB50xx and STM32WB30xx] Remove EXTI_RTSR1_RTxx_Pos [20, 21 and 31]
[STM32WB50xx and STM32WB30xx] Remove TIM2_OR_TI4_RMP, TIM2_OR_ITR1_RMP and LPTIM_OR_OR

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.

Main Changes

Introduction of STM32WB35xx, STM32WB30xx and STM32WB5Mxx product

This release introduce the support of STM32WB5Mxx, STM32WB35xx product and its value line STM32WB30xx.

Added features:

  • Templates/system_stm32wbxx.c contains the initialization code referred as SystemInit.
  • Startup files are provided as example for IAR©, KEIL© and SW4STM32©.
  • Linker files are provided as example for IAR©, KEIL© and SW4STM32©.
  • The product STM32WB5Mxx is supported by enabling inside your project the define “STM32WB5Mxx”.
  • The product STM32WB35xx is supported by enabling inside your project the define “STM32WB35xx”.
  • The product STM32WB30xx is supported by enabling inside your project the define “STM32WB30xx”.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.

Main Changes

Maintenance release for STM32WBxx devices (stm32wb55xx and stm32wb50xx devices)

Fixed bugs headline
Remove IS_TIM_SYNCHRO_INSTANCE macro from CMSIS
Move FLASH_SIZE define from hal flash. h to cmsis device file
Correct size of .bin files generated by SW4STM32
Remove RCC_PLLSAI_SUPPORT for STM32WB50

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx, STM32WB50xx devices

Main Changes

Introduction of STM32WB50xx device

First release for STM32WBxx CMSIS introducing stm32wb50xx devices.

Contents

CMSIS devices files for stm32wb55xx, stm32wb50xx devices.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7

Supported Devices and boards

  • STM32WB55xx and STM32WB50xx devices

Main Changes

Maintenance release

Maintenance release for STM32WBxx devices (stm32wb55xx devices)

Fixed bugs list
Headline
Correct GCC linker file: Set available size of RAM1 to 192K - 4 instead of 191K.
Set FLASH_ACR_LATENCY_x as uint32_t (UL instead of U).

Main Changes

First release

Add support of STM32WB55xx.