Release v1.12.0
diff --git a/Include/stm32wb35xx.h b/Include/stm32wb35xx.h index d583778..68fec52 100644 --- a/Include/stm32wb35xx.h +++ b/Include/stm32wb35xx.h
@@ -12162,10 +12162,8 @@ /* USB Device General registers */ /* */ /******************************************************************************/ -#define USB_BASE (0x40005C00UL) /*!< USB_IP Peripheral Registers base address */ -#define USB_PMAADDR_Pos (13U) -#define USB_PMAADDR_Msk (0x20003UL << USB_PMAADDR_Pos) /*!< 0x40006000 */ -#define USB_PMAADDR USB_PMAADDR_Msk /*!< USB_IP Packet Memory Area base address */ +#define USB_BASE (USB1_BASE) /*!< USB_IP Peripheral Registers base address */ +#define USB_PMAADDR (USB1_PMAADDR) /*!< USB_IP Packet Memory Area base address */ #define USB_CNTR (USB_BASE + 0x40) /*!< Control register */ #define USB_ISTR (USB_BASE + 0x44) /*!< Interrupt status register */
diff --git a/Include/stm32wb55xx.h b/Include/stm32wb55xx.h index 9819ab5..1796dfc 100644 --- a/Include/stm32wb55xx.h +++ b/Include/stm32wb55xx.h
@@ -13067,10 +13067,8 @@ /* USB Device General registers */ /* */ /******************************************************************************/ -#define USB_BASE (0x40005C00UL) /*!< USB_IP Peripheral Registers base address */ -#define USB_PMAADDR_Pos (13U) -#define USB_PMAADDR_Msk (0x20003UL << USB_PMAADDR_Pos) /*!< 0x40006000 */ -#define USB_PMAADDR USB_PMAADDR_Msk /*!< USB_IP Packet Memory Area base address */ +#define USB_BASE (USB1_BASE) /*!< USB_IP Peripheral Registers base address */ +#define USB_PMAADDR (USB1_PMAADDR) /*!< USB_IP Packet Memory Area base address */ #define USB_CNTR (USB_BASE + 0x40) /*!< Control register */ #define USB_ISTR (USB_BASE + 0x44) /*!< Interrupt status register */
diff --git a/Include/stm32wb5mxx.h b/Include/stm32wb5mxx.h index 91710ec..88e45f8 100644 --- a/Include/stm32wb5mxx.h +++ b/Include/stm32wb5mxx.h
@@ -13067,10 +13067,8 @@ /* USB Device General registers */ /* */ /******************************************************************************/ -#define USB_BASE (0x40005C00UL) /*!< USB_IP Peripheral Registers base address */ -#define USB_PMAADDR_Pos (13U) -#define USB_PMAADDR_Msk (0x20003UL << USB_PMAADDR_Pos) /*!< 0x40006000 */ -#define USB_PMAADDR USB_PMAADDR_Msk /*!< USB_IP Packet Memory Area base address */ +#define USB_BASE (USB1_BASE) /*!< USB_IP Peripheral Registers base address */ +#define USB_PMAADDR (USB1_PMAADDR) /*!< USB_IP Packet Memory Area base address */ #define USB_CNTR (USB_BASE + 0x40) /*!< Control register */ #define USB_ISTR (USB_BASE + 0x44) /*!< Interrupt status register */
diff --git a/Include/stm32wbxx.h b/Include/stm32wbxx.h index 3efb7f5..8f4bfc1 100644 --- a/Include/stm32wbxx.h +++ b/Include/stm32wbxx.h
@@ -68,7 +68,7 @@ * @brief CMSIS Device version number */ #define __STM32WBxx_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */ -#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x0BU) /*!< [23:16] sub1 version */ +#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x0CU) /*!< [23:16] sub1 version */ #define __STM32WBxx_CMSIS_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */ #define __STM32WBxx_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */ #define __STM32WBxx_CMSIS_DEVICE_VERSION ((__STM32WBxx_CMSIS_VERSION_MAIN << 24)\
diff --git a/Release_Notes.html b/Release_Notes.html index ccaca76..2d94d71 100644 --- a/Release_Notes.html +++ b/Release_Notes.html
@@ -43,8 +43,8 @@ <p>Various template file are provided to easily build an application. They can be adapted to fit applications requirements.</p> <ul> <li>Templates/system_stm32wbxx.c contains the initialization code referred as SystemInit.</li> -<li>Startup files are provided as example for IAR©, KEIL© and SW4STM32©.</li> -<li>Linker files are provided as example for IAR©, KEIL© and SW4STM32©.</li> +<li>Startup files are provided as example for IAR©, KEIL© and STM32CubeIDE©.</li> +<li>Linker files are provided as example for IAR©, KEIL© and STM32CubeIDE©.</li> </ul> <h1 id="specific-consideration-for-available-flash-size-inside-linker-file">Specific consideration for available FLASH size inside linker file</h1> <p>The available flash size depends on the wireless binary used inside the STM32WB device.</p> @@ -90,11 +90,13 @@ <div class="col-sm-12 col-lg-8"> <h1 id="update-history">Update History</h1> <div class="collapse"> -<input type="checkbox" id="collapse-section12" checked aria-hidden="true"> <label for="collapse-section12" aria-hidden="true">V1.11.0 / 08-June-2022</label> +<input type="checkbox" id="collapse-section13" checked aria-hidden="true"> <label for="collapse-section13" aria-hidden="true">V1.12.0 / 09-November-2022</label> <div> <h2 id="main-changes">Main Changes</h2> <ul> -<li>Add support for the upcoming STM32WB1M device</li> +<li>Fix incorrect USB_BASE and USB_PMAADDR addresses</li> +<li>Fix initialization missing of data in RAM2 memory</li> +<li>Add specific LSE_VALUE for STM32WB5Mxx</li> </ul> <h2 id="supported-devices-and-boards">Supported Devices and boards</h2> <ul> @@ -103,26 +105,24 @@ </div> </div> <div class="collapse"> -<input type="checkbox" id="collapse-section11" aria-hidden="true"> <label for="collapse-section11" aria-hidden="true">V1.10.1 / 25-March-2022</label> +<input type="checkbox" id="collapse-section12" aria-hidden="true"> <label for="collapse-section12" aria-hidden="true">V1.11.0 / 08-June-2022</label> <div> <h2 id="main-changes-1">Main Changes</h2> <ul> -<li>Align ADC registers naming on Reference Manual (For STM32WB15xx & STM32WB10xx)</li> +<li>Add support for the upcoming STM32WB1M device</li> </ul> <h2 id="supported-devices-and-boards-1">Supported Devices and boards</h2> <ul> -<li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.</li> +<li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx, STM32WB10xx and STM32WB1Mxx devices.</li> </ul> </div> </div> <div class="collapse"> -<input type="checkbox" id="collapse-section10" aria-hidden="true"> <label for="collapse-section10" aria-hidden="true">V1.10.0 / 12-November-2021</label> +<input type="checkbox" id="collapse-section11" aria-hidden="true"> <label for="collapse-section11" aria-hidden="true">V1.10.1 / 25-March-2022</label> <div> <h2 id="main-changes-2">Main Changes</h2> <ul> -<li>Update CMSIS devices drivers for all value lines not supporting SMPS</li> -<li>All source files and templates: update disclaimer to add reference to the new license agreement</li> -<li>Correct English spelling typos and remove non UTF-8 characters in comments</li> +<li>Align ADC registers naming on Reference Manual (For STM32WB15xx & STM32WB10xx)</li> </ul> <h2 id="supported-devices-and-boards-2">Supported Devices and boards</h2> <ul> @@ -131,10 +131,25 @@ </div> </div> <div class="collapse"> -<input type="checkbox" id="collapse-section9" aria-hidden="true"> <label for="collapse-section9" aria-hidden="true">V1.9.0 / 24-June-2021</label> +<input type="checkbox" id="collapse-section10" aria-hidden="true"> <label for="collapse-section10" aria-hidden="true">V1.10.0 / 12-November-2021</label> <div> <h2 id="main-changes-3">Main Changes</h2> <ul> +<li>Update CMSIS devices drivers for all value lines not supporting SMPS</li> +<li>All source files and templates: update disclaimer to add reference to the new license agreement</li> +<li>Correct English spelling typos and remove non UTF-8 characters in comments</li> +</ul> +<h2 id="supported-devices-and-boards-3">Supported Devices and boards</h2> +<ul> +<li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.</li> +</ul> +</div> +</div> +<div class="collapse"> +<input type="checkbox" id="collapse-section9" aria-hidden="true"> <label for="collapse-section9" aria-hidden="true">V1.9.0 / 24-June-2021</label> +<div> +<h2 id="main-changes-4">Main Changes</h2> +<ul> <li>Add atomic register access services: <ul> <li>32-bit register access: ATOMIC_SET_BIT(), ATOMIC_CLEAR_BIT(), ATOMIC_MODIFY_REG()</li> @@ -147,7 +162,7 @@ <li>Add define LSI_STARTUP_TIME used in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT)</li> <li>Add define FLASH_ECCR_CPUID bits for new macro __HAL_FLASH_ECC_CPUID() macro</li> </ul> -<h2 id="supported-devices-and-boards-3">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-4">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.</li> </ul> @@ -156,7 +171,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section8" aria-hidden="true"> <label for="collapse-section8" aria-hidden="true">V1.8.0 / 09-February-2021</label> <div> -<h2 id="main-changes-4">Main Changes</h2> +<h2 id="main-changes-5">Main Changes</h2> <h3 id="add-support-for-stm32wb15xx-and-stm32wb10xx">Add support for STM32WB15xx and STM32WB10xx</h3> <ul> <li>Change how to adapt VTOR for user</li> @@ -167,7 +182,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-4">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-5">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx, STM32WB30xx, STM32WB15xx and STM32WB10xx devices.</li> </ul> @@ -176,7 +191,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section7" aria-hidden="true"> <label for="collapse-section7" aria-hidden="true">V1.7.0 / 30-October-2020</label> <div> -<h2 id="main-changes-5">Main Changes</h2> +<h2 id="main-changes-6">Main Changes</h2> <h3 id="maintenance-release">Maintenance release</h3> <p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx, stm32wb50xx, stm32wb35xx and stm32wb30xx devices)</p> <table> @@ -206,7 +221,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-5">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-6">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.</li> </ul> @@ -215,7 +230,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section6" aria-hidden="true"> <label for="collapse-section6" aria-hidden="true">v1.6.0 / 05-June-2020</label> <div> -<h2 id="main-changes-6">Main Changes</h2> +<h2 id="main-changes-7">Main Changes</h2> <h3 id="maintenance-release-1">Maintenance release</h3> <p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx, stm32wb50xx, stm32wb35xx and stm32wb30xx devices)</p> <table> @@ -254,7 +269,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-6">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-7">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.</li> </ul> @@ -263,7 +278,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section5" aria-hidden="true"> <label for="collapse-section5" aria-hidden="true">V1.4.0 / 12-February-2020</label> <div> -<h2 id="main-changes-7">Main Changes</h2> +<h2 id="main-changes-8">Main Changes</h2> <h3 id="introduction-of-stm32wb35xx-stm32wb30xx-and-stm32wb5mxx-product">Introduction of STM32WB35xx, STM32WB30xx and STM32WB5Mxx product</h3> <p>This release introduce the support of STM32WB5Mxx, STM32WB35xx product and its value line STM32WB30xx.</p> <p>Added features:</p> @@ -281,7 +296,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-7">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-8">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.</li> </ul> @@ -290,7 +305,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section4" aria-hidden="true"> <label for="collapse-section4" aria-hidden="true">V1.3.0 / 11-September-2019</label> <div> -<h2 id="main-changes-8">Main Changes</h2> +<h2 id="main-changes-9">Main Changes</h2> <p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx and stm32wb50xx devices)</p> <table> <thead> @@ -319,7 +334,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-8">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-9">Supported Devices and boards</h2> <ul> <li>STM32WB55xx, STM32WB50xx devices</li> </ul> @@ -328,7 +343,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true">V1.2.0 / 26-June-2019</label> <div> -<h2 id="main-changes-9">Main Changes</h2> +<h2 id="main-changes-10">Main Changes</h2> <h3 id="introduction-of-stm32wb50xx-device">Introduction of STM32WB50xx device</h3> <p>First release for STM32WBxx CMSIS introducing <strong>stm32wb50xx</strong> devices.</p> <h2 id="contents">Contents</h2> @@ -339,7 +354,7 @@ <li>RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25</li> <li>System Workbench STM32 (SW4STM32) toolchain V2.7</li> </ul> -<h2 id="supported-devices-and-boards-9">Supported Devices and boards</h2> +<h2 id="supported-devices-and-boards-10">Supported Devices and boards</h2> <ul> <li>STM32WB55xx and STM32WB50xx devices</li> </ul> @@ -348,7 +363,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true">V1.1.0 / 05-April-2019</label> <div> -<h2 id="main-changes-10">Main Changes</h2> +<h2 id="main-changes-11">Main Changes</h2> <h3 id="maintenance-release-2">Maintenance release</h3> <p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx devices)</p> <table> @@ -372,7 +387,7 @@ <div class="collapse"> <input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true">V1.0.0 / 06-February-2019</label> <div> -<h2 id="main-changes-11">Main Changes</h2> +<h2 id="main-changes-12">Main Changes</h2> <h3 id="first-release">First release</h3> <p>Add support of STM32WB55xx.</p> </div>
diff --git a/Source/Templates/gcc/linker/stm32wb10xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb10xx_flash_cm4.ld index e6aa078..971ee11 100644 --- a/Source/Templates/gcc/linker/stm32wb10xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb10xx_flash_cm4.ld
@@ -1,11 +1,11 @@ -/* +/** ****************************************************************************** ** -** File : LinkerScript.ld +** File : stm32wb10xx_flash_cm4.ld ** ** Author : STM32CubeIDE ** -** Abstract : Linker script for STM32WB15xC Device +** Abstract : Linker script for STM32WB10xx Device ** 320Kbytes FLASH ** 48Kbytes RAM ** @@ -22,7 +22,7 @@ ***************************************************************************** ** @attention ** -** Copyright (c) 2020 STMicroelectronics. +** Copyright (c) 2020-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -38,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20003000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400 ; /* required amount of heap */ +_Min_Heap_Size = 0x400 ; /* required amount of heap */ _Min_Stack_Size = 0x1000 ; /* required amount of stack */ /* Specify the memory areas */ @@ -118,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -131,7 +131,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -159,8 +158,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -170,9 +167,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb15xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb15xx_flash_cm4.ld index e6aa078..20f342b 100644 --- a/Source/Templates/gcc/linker/stm32wb15xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb15xx_flash_cm4.ld
@@ -1,11 +1,11 @@ -/* +/** ****************************************************************************** ** -** File : LinkerScript.ld +** File : stm32wb15xx_flash_cm4.ld ** ** Author : STM32CubeIDE ** -** Abstract : Linker script for STM32WB15xC Device +** Abstract : Linker script for STM32WB15xx Device ** 320Kbytes FLASH ** 48Kbytes RAM ** @@ -22,7 +22,7 @@ ***************************************************************************** ** @attention ** -** Copyright (c) 2020 STMicroelectronics. +** Copyright (c) 2020-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -38,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20003000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400 ; /* required amount of heap */ +_Min_Heap_Size = 0x400 ; /* required amount of heap */ _Min_Stack_Size = 0x1000 ; /* required amount of stack */ /* Specify the memory areas */ @@ -118,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -131,7 +131,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -159,8 +158,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -170,9 +167,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb1mxx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb1mxx_flash_cm4.ld index 05955af..973c830 100644 --- a/Source/Templates/gcc/linker/stm32wb1mxx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb1mxx_flash_cm4.ld
@@ -1,11 +1,11 @@ -/* +/** ****************************************************************************** ** -** File : LinkerScript.ld +** File : stm32wb1mxx_flash_cm4.ld ** ** Author : STM32CubeIDE ** -** Abstract : Linker script for STM32WB15xC Device +** Abstract : Linker script for STM32WB1Mxx Device ** 320Kbytes FLASH ** 48Kbytes RAM ** @@ -38,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20003000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400 ; /* required amount of heap */ +_Min_Heap_Size = 0x400 ; /* required amount of heap */ _Min_Stack_Size = 0x1000 ; /* required amount of stack */ /* Specify the memory areas */ @@ -118,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -131,7 +131,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -159,8 +158,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -170,9 +167,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb30xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb30xx_flash_cm4.ld index 7743fd9..c82ab64 100644 --- a/Source/Templates/gcc/linker/stm32wb30xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb30xx_flash_cm4.ld
@@ -3,21 +3,26 @@ ** ** File : stm32wb30xx_flash_cm4.ld ** -** Abstract : System Workbench Minimal System calls file +** Author : STM32CubeIDE ** -** For more information about which c-functions -** need which of these lowlevel functions -** please consult the Newlib libc-manual +** Abstract : Linker script for STM32WB30xx Device +** 512Kbytes FLASH +** 96Kbytes RAM ** -** Environment : System Workbench for MCU +** Set heap size, stack size and stack location according +** to application requirements. ** -** Distribution: The file is distributed “as is,” without any warranty +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** -** Copyright (c) 2019 STMicroelectronics. +** Copyright (c) 2019-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -33,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20008000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400; /* required amount of heap */ +_Min_Heap_Size = 0x400; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Specify the memory areas */ @@ -113,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -124,7 +129,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -152,8 +156,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -163,9 +165,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb35xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb35xx_flash_cm4.ld index dead7a9..282769e 100644 --- a/Source/Templates/gcc/linker/stm32wb35xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb35xx_flash_cm4.ld
@@ -3,21 +3,26 @@ ** ** File : stm32wb35xx_flash_cm4.ld ** -** Abstract : System Workbench Minimal System calls file +** Author : STM32CubeIDE ** -** For more information about which c-functions -** need which of these lowlevel functions -** please consult the Newlib libc-manual +** Abstract : Linker script for STM32WB35xx Device +** 512Kbytes FLASH +** 96Kbytes RAM ** -** Environment : System Workbench for MCU +** Set heap size, stack size and stack location according +** to application requirements. ** -** Distribution: The file is distributed “as is,” without any warranty +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** -** Copyright (c) 2019 STMicroelectronics. +** Copyright (c) 2019-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -33,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20008000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400; /* required amount of heap */ +_Min_Heap_Size = 0x400; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Specify the memory areas */ @@ -113,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -124,7 +129,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -152,8 +156,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -163,9 +165,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb50xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb50xx_flash_cm4.ld index 4a8bd3f..f0949f0 100644 --- a/Source/Templates/gcc/linker/stm32wb50xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb50xx_flash_cm4.ld
@@ -3,21 +3,26 @@ ** ** File : stm32wb50xx_flash_cm4.ld ** -** Abstract : System Workbench Minimal System calls file +** Author : STM32CubeIDE ** -** For more information about which c-functions -** need which of these lowlevel functions -** please consult the Newlib libc-manual +** Abstract : Linker script for STM32WB50xx Device +** 1024Kbytes FLASH +** 128Kbytes RAM ** -** Environment : System Workbench for MCU +** Set heap size, stack size and stack location according +** to application requirements. ** -** Distribution: The file is distributed “as is,” without any warranty +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** -** Copyright (c) 2019 STMicroelectronics. +** Copyright (c) 2019-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -33,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20010000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400; /* required amount of heap */ +_Min_Heap_Size = 0x400; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Specify the memory areas */ @@ -113,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -124,7 +129,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -152,8 +156,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -163,9 +165,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb55xx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb55xx_flash_cm4.ld index 660f301..c6d139e 100644 --- a/Source/Templates/gcc/linker/stm32wb55xx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb55xx_flash_cm4.ld
@@ -3,21 +3,26 @@ ** ** File : stm32wb55xx_flash_cm4.ld ** -** Abstract : System Workbench Minimal System calls file +** Author : STM32CubeIDE ** -** For more information about which c-functions -** need which of these lowlevel functions -** please consult the Newlib libc-manual +** Abstract : Linker script for STM32WB55xx Device +** 1024Kbytes FLASH +** 128Kbytes RAM ** -** Environment : System Workbench for MCU +** Set heap size, stack size and stack location according +** to application requirements. ** -** Distribution: The file is distributed “as is,” without any warranty +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** -** Copyright (c) 2019 STMicroelectronics. +** Copyright (c) 2019-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -33,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20030000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400; /* required amount of heap */ +_Min_Heap_Size = 0x400; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Specify the memory areas */ @@ -113,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -124,7 +129,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -152,8 +156,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -163,9 +165,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/linker/stm32wb5mxx_flash_cm4.ld b/Source/Templates/gcc/linker/stm32wb5mxx_flash_cm4.ld index d1d82de..a9af6a1 100644 --- a/Source/Templates/gcc/linker/stm32wb5mxx_flash_cm4.ld +++ b/Source/Templates/gcc/linker/stm32wb5mxx_flash_cm4.ld
@@ -3,21 +3,26 @@ ** ** File : stm32wb5mxx_flash_cm4.ld ** -** Abstract : System Workbench Minimal System calls file +** Author : STM32CubeIDE ** -** For more information about which c-functions -** need which of these lowlevel functions -** please consult the Newlib libc-manual +** Abstract : Linker script for STM32WB5Mxx Device +** 1024Kbytes FLASH +** 128Kbytes RAM ** -** Environment : System Workbench for MCU +** Set heap size, stack size and stack location according +** to application requirements. ** -** Distribution: The file is distributed “as is,” without any warranty +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty ** of any kind. ** ***************************************************************************** ** @attention ** -** Copyright (c) 2019 STMicroelectronics. +** Copyright (c) 2019-2022 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under terms that can be found in the LICENSE file @@ -33,7 +38,7 @@ /* Highest address of the user mode stack */ _estack = 0x20030000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x400; /* required amount of heap */ +_Min_Heap_Size = 0x400; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Specify the memory areas */ @@ -113,7 +118,7 @@ _sidata = LOADADDR(.data); /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : + .data : { . = ALIGN(4); _sdata = .; /* create a global symbol at data start */ @@ -124,7 +129,6 @@ _edata = .; /* define a global symbol at data end */ } >RAM1 AT> FLASH - /* Uninitialized data section */ . = ALIGN(4); .bss : @@ -152,8 +156,6 @@ . = ALIGN(8); } >RAM1 - - /* Remove information from the standard libraries */ /DISCARD/ : { @@ -163,9 +165,17 @@ } .ARM.attributes 0 : { *(.ARM.attributes) } - MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED - MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED - MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED + MAPPING_TABLE (NOLOAD) : { *(MAPPING_TABLE) } >RAM_SHARED + MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED + + /* used by the startup to initialize .MB_MEM2 data */ + _siMB_MEM2 = LOADADDR(.MB_MEM2); + .MB_MEM2 : + { + _sMB_MEM2 = . ; + *(MB_MEM2) ; + _eMB_MEM2 = . ; + } >RAM_SHARED AT> FLASH }
diff --git a/Source/Templates/gcc/startup_stm32wb10xx_cm4.s b/Source/Templates/gcc/startup_stm32wb10xx_cm4.s index 9be0cca..096e218 100644 --- a/Source/Templates/gcc/startup_stm32wb10xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb10xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,20 +100,20 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever -.size Reset_Handler, .-Reset_Handler +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb15xx_cm4.s b/Source/Templates/gcc/startup_stm32wb15xx_cm4.s index 5e1a465..2c6949e 100644 --- a/Source/Templates/gcc/startup_stm32wb15xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb15xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,20 +100,20 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever - -.size Reset_Handler, .-Reset_Handler + +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb1mxx_cm4.s b/Source/Templates/gcc/startup_stm32wb1mxx_cm4.s index 6c726c4..0975a74 100644 --- a/Source/Templates/gcc/startup_stm32wb1mxx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb1mxx_cm4.s
@@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,20 +100,20 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever - -.size Reset_Handler, .-Reset_Handler + +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb30xx_cm4.s b/Source/Templates/gcc/startup_stm32wb30xx_cm4.s index 2c1110e..4efe128 100644 --- a/Source/Templates/gcc/startup_stm32wb30xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb30xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,15 +100,15 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb35xx_cm4.s b/Source/Templates/gcc/startup_stm32wb35xx_cm4.s index 52cbc69..65ead5e 100644 --- a/Source/Templates/gcc/startup_stm32wb35xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb35xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ .word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,20 +100,20 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever - -.size Reset_Handler, .-Reset_Handler + +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb50xx_cm4.s b/Source/Templates/gcc/startup_stm32wb50xx_cm4.s index 9430dfd..ccf0f19 100644 --- a/Source/Templates/gcc/startup_stm32wb50xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb50xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,6 +100,7 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss @@ -105,12 +109,12 @@ /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever - -.size Reset_Handler, .-Reset_Handler + +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +127,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +136,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +229,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb55xx_cm4.s b/Source/Templates/gcc/startup_stm32wb55xx_cm4.s index 77c2e05..d7f99ea 100644 --- a/Source/Templates/gcc/startup_stm32wb55xx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb55xx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -97,20 +100,20 @@ /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever -.size Reset_Handler, .-Reset_Handler +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/gcc/startup_stm32wb5mxx_cm4.s b/Source/Templates/gcc/startup_stm32wb5mxx_cm4.s index 94be63d..68434a2 100644 --- a/Source/Templates/gcc/startup_stm32wb5mxx_cm4.s +++ b/Source/Templates/gcc/startup_stm32wb5mxx_cm4.s
@@ -14,7 +14,7 @@ ****************************************************************************** * @attention * - * Copyright (c) 2019-2021 STMicroelectronics. + * Copyright (c) 2019-2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file @@ -25,24 +25,27 @@ */ .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb + .cpu cortex-m4 + .fpu softvfp + .thumb -.global g_pfnVectors -.global Default_Handler +.global g_pfnVectors +.global Default_Handler /* start address for the initialization values of the .data section. defined in linker script */ -.word _sidata +.word _sidata /* start address for the .data section. defined in linker script */ -.word _sdata +.word _sdata /* end address for the .data section. defined in linker script */ -.word _edata +.word _edata /* start address for the .bss section. defined in linker script */ -.word _sbss +.word _sbss /* end address for the .bss section. defined in linker script */ -.word _ebss +.word _ebss +/* start address for the initialization values of the .MB_MEM2 section. +defined in linker script */ +.word _siMB_MEM2 /* start address for the .MB_MEM2 section. defined in linker script */ .word _sMB_MEM2 /* end address for the .MB_MEM2 section. defined in linker script */ @@ -94,23 +97,23 @@ mov sp, r0 /* set stack pointer */ /* Call the clock system initialization function.*/ bl SystemInit - + /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata + INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - INIT_BSS _sMB_MEM2, _eMB_MEM2 /* Call static constructors */ bl __libc_init_array /* Call the application s entry point.*/ - bl main + bl main LoopForever: b LoopForever - -.size Reset_Handler, .-Reset_Handler + +.size Reset_Handler, .-Reset_Handler /** * @brief This is the code that gets called when the processor receives an @@ -123,8 +126,8 @@ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler + b Infinite_Loop + .size Default_Handler, .-Default_Handler /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note that the proper constructs @@ -132,15 +135,15 @@ * 0x0000.0000. * ******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + .size g_pfnVectors, .-g_pfnVectors g_pfnVectors: .word _estack .word Reset_Handler - .word NMI_Handler + .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler @@ -225,9 +228,9 @@ * this definition. * *******************************************************************************/ - .weak NMI_Handler + .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler - + .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler
diff --git a/Source/Templates/system_stm32wbxx.c b/Source/Templates/system_stm32wbxx.c index f3effb5..dc38e46 100644 --- a/Source/Templates/system_stm32wbxx.c +++ b/Source/Templates/system_stm32wbxx.c
@@ -101,7 +101,11 @@ #endif /* LSI_VALUE */ #if !defined (LSE_VALUE) -#define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/ +#if defined(STM32WB5Mxx) + #define LSE_VALUE 32774U /*!< Value of the LSE oscillator in Hz */ +#else + #define LSE_VALUE 32768U /*!< Value of the LSE oscillator in Hz */ +#endif /* STM32WB5Mxx */ #endif /* LSE_VALUE */ /**