Skip to content

Update STM32WB HAL and CMSIS drivers #1139

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 6, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions libraries/SrcWrapper/src/HAL/stm32yyxx_hal_i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,3 @@
#ifdef STM32L1xx
#include "stm32l1xx_hal_i2s.c"
#endif
#ifdef STM32WBxx
#include "stm32wbxx_hal_i2s.c"
#endif
187 changes: 41 additions & 146 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb30xx.h

Large diffs are not rendered by default.

1,430 changes: 719 additions & 711 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb35xx.h

Large diffs are not rendered by default.

168 changes: 37 additions & 131 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb50xx.h

Large diffs are not rendered by default.

78 changes: 43 additions & 35 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb55xx.h

Large diffs are not rendered by default.

78 changes: 43 additions & 35 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Include/stm32wb5mxx.h

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
* @brief CMSIS Device version number
*/
#define __STM32WBxx_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x04U) /*!< [23:16] sub1 version */
#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x06U) /*!< [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)\
Expand Down
72 changes: 60 additions & 12 deletions system/Drivers/CMSIS/Device/ST/STM32WBxx/Release_Notes.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,57 @@ <h2 id="stm32wb35xx-and-stm32wb30xx">STM32WB35xx and STM32WB30xx</h2>
<div class="col-sm-12 col-lg-8">
<h1 id="update-history">Update History</h1>
<div class="collapse">
<input type="checkbox" id="collapse-section5" checked aria-hidden="true"> <label for="collapse-section5" aria-hidden="true">v1.4.0 / 12-February-2020</label>
<input type="checkbox" id="collapse-section6" checked aria-hidden="true"> <label for="collapse-section6" aria-hidden="true">v1.6.0 / 05-June-2020</label>
<div>
<h2 id="main-changes">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>
<thead>
<tr class="header">
<th style="text-align: left;">Fixed bugs headline</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">[All devices] Correct DMAMUX_CxCR_DMAREQ_ID_Msk</td>
</tr>
<tr class="even">
<td style="text-align: left;">[All devices] Remove DMAMUX_CxCR_DMAREQ_ID_[6-7]</td>
</tr>
<tr class="odd">
<td style="text-align: left;">[All devices] Call SystemInit first in startup/Reset_Handler, so GCC code is similar to IAR/Keil</td>
</tr>
<tr class="even">
<td style="text-align: left;">[STM32WB50xx and STM32WB30xx] Remove OR register from LPTIM_TypeDef</td>
</tr>
<tr class="odd">
<td style="text-align: left;">[STM32WB50xx and STM32WB30xx] Remove DMAMUX_CSR_SOF[7-13] and DMAMUX_CFR_SOF[7-13]</td>
</tr>
<tr class="even">
<td style="text-align: left;">[STM32WB50xx and STM32WB30xx] Remove EXTI_RTSR1_RTxx_Pos [20, 21 and 31]</td>
</tr>
<tr class="odd">
<td style="text-align: left;">[STM32WB50xx and STM32WB30xx] Remove TIM2_OR_TI4_RMP, TIM2_OR_ITR1_RMP and LPTIM_OR_OR</td>
</tr>
</tbody>
</table>
<h2 id="development-toolchains-and-compilers">Development Toolchains and Compilers</h2>
<ul>
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2</li>
<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">Supported Devices and boards</h2>
<ul>
<li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.</li>
</ul>
</div>
</div>
<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-1">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>
Expand All @@ -94,13 +142,13 @@ <h3 id="introduction-of-stm32wb35xx-stm32wb30xx-and-stm32wb5mxx-product">Introdu
<li>The product STM32WB35xx is supported by enabling inside your project the define “STM32WB35xx”.</li>
<li>The product STM32WB30xx is supported by enabling inside your project the define “STM32WB30xx”.</li>
</ul>
<h2 id="development-toolchains-and-compilers">Development Toolchains and Compilers</h2>
<h2 id="development-toolchains-and-compilers-1">Development Toolchains and Compilers</h2>
<ul>
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2</li>
<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">Supported Devices and boards</h2>
<h2 id="supported-devices-and-boards-1">Supported Devices and boards</h2>
<ul>
<li>STM32WB55xx, STM32WB5Mxx, STM32WB50xx, STM32WB35xx and STM32WB30xx devices.</li>
</ul>
Expand All @@ -109,7 +157,7 @@ <h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
<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-1">Main Changes</h2>
<h2 id="main-changes-2">Main Changes</h2>
<p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx and stm32wb50xx devices)</p>
<table>
<thead>
Expand All @@ -132,13 +180,13 @@ <h2 id="main-changes-1">Main Changes</h2>
</tr>
</tbody>
</table>
<h2 id="development-toolchains-and-compilers-1">Development Toolchains and Compilers</h2>
<h2 id="development-toolchains-and-compilers-2">Development Toolchains and Compilers</h2>
<ul>
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2</li>
<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-1">Supported Devices and boards</h2>
<h2 id="supported-devices-and-boards-2">Supported Devices and boards</h2>
<ul>
<li>STM32WB55xx, STM32WB50xx devices</li>
</ul>
Expand All @@ -147,18 +195,18 @@ <h2 id="supported-devices-and-boards-1">Supported Devices and boards</h2>
<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-2">Main Changes</h2>
<h2 id="main-changes-3">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>
<p>CMSIS devices files for stm32wb55xx, stm32wb50xx devices.</p>
<h2 id="development-toolchains-and-compilers-2">Development Toolchains and Compilers</h2>
<h2 id="development-toolchains-and-compilers-3">Development Toolchains and Compilers</h2>
<ul>
<li>IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2</li>
<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-2">Supported Devices and boards</h2>
<h2 id="supported-devices-and-boards-3">Supported Devices and boards</h2>
<ul>
<li>STM32WB55xx and STM32WB50xx devices</li>
</ul>
Expand All @@ -167,8 +215,8 @@ <h2 id="supported-devices-and-boards-2">Supported Devices and boards</h2>
<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-3">Main Changes</h2>
<h3 id="maintenance-release">Maintenance release</h3>
<h2 id="main-changes-4">Main Changes</h2>
<h3 id="maintenance-release-1">Maintenance release</h3>
<p>Maintenance release for <strong>STM32WBxx</strong> devices (stm32wb55xx devices)</p>
<table>
<caption>Fixed bugs list</caption>
Expand All @@ -191,7 +239,7 @@ <h3 id="maintenance-release">Maintenance release</h3>
<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-4">Main Changes</h2>
<h2 id="main-changes-5">Main Changes</h2>
<h3 id="first-release">First release</h3>
<p>Add support of STM32WB55xx.</p>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ _Min_Stack_Size = 0x1000; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x7FFC
RAM_SHARED (xrw) : ORIGIN = 0x20008000, LENGTH = 10K
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}

/* Define output sections */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ _Min_Stack_Size = 0x1000; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x7FFC
RAM_SHARED (xrw) : ORIGIN = 0x20008000, LENGTH = 10K
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}

/* Define output sections */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
/* Call the clock system intitialization function.*/
bl SystemInit

/* Copy the data segment initializers from flash to SRAM */
INIT_DATA _sdata, _edata, _sidata
Expand All @@ -101,8 +103,6 @@ Reset_Handler:
INIT_BSS _sbss, _ebss
INIT_BSS _sMB_MEM2, _eMB_MEM2

/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
Expand Down Expand Up @@ -194,7 +194,7 @@ g_pfnVectors:
.word USART1_IRQHandler
.word 0
.word 0
.word TSC_IRQHandler
.word 0
.word EXTI15_10_IRQHandler
.word RTC_Alarm_IRQHandler
.word 0
Expand Down Expand Up @@ -346,9 +346,6 @@ g_pfnVectors:
.weak USART1_IRQHandler
.thumb_set USART1_IRQHandler,Default_Handler

.weak TSC_IRQHandler
.thumb_set TSC_IRQHandler,Default_Handler

.weak EXTI15_10_IRQHandler
.thumb_set EXTI15_10_IRQHandler,Default_Handler

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
/* Call the clock system intitialization function.*/
bl SystemInit

/* Copy the data segment initializers from flash to SRAM */
INIT_DATA _sdata, _edata, _sidata
Expand All @@ -101,8 +103,6 @@ Reset_Handler:
INIT_BSS _sbss, _ebss
INIT_BSS _sMB_MEM2, _eMB_MEM2

/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
Expand Down Expand Up @@ -190,11 +190,11 @@ g_pfnVectors:
.word I2C3_EV_IRQHandler
.word I2C3_ER_IRQHandler
.word SPI1_IRQHandler
.word SPI2_IRQHandler
.word 0
.word USART1_IRQHandler
.word LPUART1_IRQHandler
.word 0
.word TSC_IRQHandler
.word 0
.word EXTI15_10_IRQHandler
.word RTC_Alarm_IRQHandler
.word CRS_IRQHandler
Expand Down Expand Up @@ -358,18 +358,12 @@ g_pfnVectors:
.weak SPI1_IRQHandler
.thumb_set SPI1_IRQHandler,Default_Handler

.weak SPI2_IRQHandler
.thumb_set SPI2_IRQHandler,Default_Handler

.weak USART1_IRQHandler
.thumb_set USART1_IRQHandler,Default_Handler

.weak LPUART1_IRQHandler
.thumb_set LPUART1_IRQHandler,Default_Handler

.weak TSC_IRQHandler
.thumb_set TSC_IRQHandler,Default_Handler

.weak EXTI15_10_IRQHandler
.thumb_set EXTI15_10_IRQHandler,Default_Handler

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
/* Call the clock system intitialization function.*/
bl SystemInit

/* Copy the data segment initializers from flash to SRAM */
INIT_DATA _sdata, _edata, _sidata
Expand All @@ -101,8 +103,6 @@ Reset_Handler:
INIT_BSS _sbss, _ebss
INIT_BSS _sMB_MEM2, _eMB_MEM2

/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
Expand Down Expand Up @@ -192,9 +192,9 @@ g_pfnVectors:
.word SPI1_IRQHandler
.word 0
.word USART1_IRQHandler
.word LPUART1_IRQHandler
.word 0
.word TSC_IRQHandler
.word 0
.word 0
.word EXTI15_10_IRQHandler
.word RTC_Alarm_IRQHandler
.word 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
/* Call the clock system intitialization function.*/
bl SystemInit

/* Copy the data segment initializers from flash to SRAM */
INIT_DATA _sdata, _edata, _sidata
Expand All @@ -101,8 +103,6 @@ Reset_Handler:
INIT_BSS _sbss, _ebss
INIT_BSS _sMB_MEM2, _eMB_MEM2

/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ LoopFillZerobss:
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
/* Call the clock system intitialization function.*/
bl SystemInit

/* Copy the data segment initializers from flash to SRAM */
INIT_DATA _sdata, _edata, _sidata
Expand All @@ -101,8 +103,6 @@ Reset_Handler:
INIT_BSS _sbss, _ebss
INIT_BSS _sMB_MEM2, _eMB_MEM2

/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
Expand Down
2 changes: 1 addition & 1 deletion system/Drivers/CMSIS/Device/ST/STM32YYxx_CMSIS_version.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* STM32L1: 2.3.0
* STM32L4: 1.7.0
* STM32MP1: 1.2.0
* STM32WB: 1.4.0
* STM32WB: 1.6.0

Release notes of each STM32YYxx CMSIS available here:

Expand Down
Loading