Skip to content

Commit 53bba90

Browse files
committed
system(wl): update STM32WLxx CMSIS Drivers to v1.3.0
Included in STM32CubeWL FW v1.4.0 Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 1b3ad22 commit 53bba90

14 files changed

+142
-67
lines changed

system/Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wlxx.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
* @brief CMSIS Device version number
8181
*/
8282
#define __STM32WLxx_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
83-
#define __STM32WLxx_CMSIS_VERSION_SUB1 (0x02U) /*!< [23:16] sub1 version */
83+
#define __STM32WLxx_CMSIS_VERSION_SUB1 (0x03U) /*!< [23:16] sub1 version */
8484
#define __STM32WLxx_CMSIS_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */
8585
#define __STM32WLxx_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
8686
#define __STM32WLxx_CMSIS_DEVICE_VERSION ((__STM32WLxx_CMSIS_VERSION_MAIN << 24)\
File renamed without changes.
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
# STM32CubeWL CMSIS Device MCU Component
22

3-
## Overview
3+
![latest tag](https://img.shields.io/github/v/tag/STMicroelectronics/cmsis-device-wl.svg?color=brightgreen)
44

5-
**STM32Cube** is an STMicroelectronics original initiative to ease the developers life by reducing efforts, time and cost.
5+
## Overview of the STM32Cube MCU offer on GitHub
66

7-
**STM32Cube** covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform, delivered for each STM32 series.
8-
* The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product
9-
* The STM32 HAL-LL drivers : an abstraction drivers layer, the API ensuring maximized portability across the STM32 portfolio
10-
* The BSP Drivers of each evaluation or demonstration board provided by this STM32 series
11-
* A consistent set of middlewares components such as RTOS, USB, FatFS, Graphics, STM32_TouchSensing_Library ...
12-
* A full set of software projects (basic examples, applications or demonstrations) for each board provided by this STM32 series
7+
**STM32Cube** is an original initiative by STMicroelectronics to **simplify** prototyping and development by **reducing** effort, time, and cost. It supports the entire ARM™ Cortex-based STM32 microcontroller portfolio and provides a **comprehensive** software solution including:
8+
* The CMSIS Core and Device interfaces enabling access to processor core features and device-specific peripherals of STM32 microcontrollers.
9+
* The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio.
10+
* The BSP drivers enabling access to peripherals on the STM32 development boards, external to the microcontroller itself.
11+
* A consistent set of middleware libraries offering standardized, high-level functionalities — such as USB, TCP/IP, file systems, and graphics.
12+
* A full set of software projects (basic examples, applications, and demonstrations) that showcase specific functionalities or use cases, and provided with support for multiple IDEs.
1313

14-
Two models of publication are proposed for the STM32Cube embedded software :
15-
* The monolithic **MCU Package** : all STM32Cube software modules of one STM32 series are present (Drivers, Middlewares, Projects, Utilities) in the repo (usual name **STM32Cubexx**, xx corresponding to the STM32 series)
16-
* The **MCU component** : progressively from November 2019, each STM32Cube software module being part of the STM32Cube MCU Package, will be delivered as an individual repo, allowing the user to select and get only the required software functions.
14+
The **STM32Cube embedded software** is available in two flavors:
15+
* The **MCU Firmware** _monolithic_ offer, where **all** software components (Drivers, Middleware, Projects, Utilities) are included in a **single** repository for each STM32 series.
16+
* The **MCU Software Components** _modular_ offer, where **each** software component (mainly Drivers and Middleware) is provided in a **dedicated** repository, allowing users to **select** only the components they need.
17+
18+
The complete list of repositories is available [here](https://github.com/STMicroelectronics/STM32Cube_MCU_Overall_Offer/blob/master/README.md#content).
1719

1820
## Description
1921

2022
This **cmsis_device_wl** MCU component repo is one element of the STM32CubeWL MCU embedded software package, providing the **cmsis device** part.
2123

2224
## Release note
2325

24-
Details about the content of this release are available in the release note [here](https://htmlpreview.github.io/?https://github.com/STMicroelectronics/cmsis_device_wl/blob/master/Release_Notes.html).
26+
Details about the content of this release are available in the release note [here](https://htmlpreview.github.io/?https://github.com/STMicroelectronics/cmsis-device-wl/blob/main/Release_Notes.html).
2527

2628
## Compatibility information
2729

2830
It is **crucial** that you use a consistent set of versions for the CMSIS Core - CMSIS Device, as mentioned in [this](https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeWL/blob/main/Release_Notes.html) release note.
2931

30-
The full **STM32CubeWL** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeWL).
31-
32-
## Troubleshooting
33-
If you have any issue with the **Software content** of this repo, you can [file an issue on Github](https://github.com/STMicroelectronics/cmsis_device_wl/issues/new).
32+
## Feedback and contributions
3433

35-
For any other question related to the product, the tools, the environment, you can submit a topic on the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
34+
Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) guide.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Release_Notes.html

Lines changed: 93 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@
55
<meta name="generator" content="pandoc" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
77
<title>Release Notes for STM32WLxx CMSIS</title>
8-
<style type="text/css">
9-
code{white-space: pre-wrap;}
10-
span.smallcaps{font-variant: small-caps;}
11-
span.underline{text-decoration: underline;}
12-
div.column{display: inline-block; vertical-align: top; width: 50%;}
8+
<style>
9+
code{white-space: pre-wrap;}
10+
span.smallcaps{font-variant: small-caps;}
11+
div.columns{display: flex; gap: min(4vw, 1.5em);}
12+
div.column{flex: auto; overflow-x: auto;}
13+
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
14+
/* The extra [class] is a hack that increases specificity enough to
15+
override a similar rule in reveal.js */
16+
ul.task-list[class]{list-style: none;}
17+
ul.task-list li input[type="checkbox"] {
18+
font-size: inherit;
19+
width: 0.8em;
20+
margin: 0 0.8em 0.2em -1.6em;
21+
vertical-align: middle;
22+
}
23+
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
1324
</style>
1425
<link rel="stylesheet" href="_htmresc/mini-st_2020.css" />
15-
<!--[if lt IE 9]>
16-
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
17-
<![endif]-->
1826
<link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
1927
</head>
2028
<body>
@@ -25,35 +33,48 @@ <h1 id="release-notes-for">Release Notes for</h1>
2533
<h1 id="stm32wlxx-cmsis"><mark>STM32WLxx CMSIS</mark></h1>
2634
<p>Copyright © 2020 STMicroelectronics<br />
2735
</p>
28-
<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
36+
<a href="https://www.st.com" class="logo"><img
37+
src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
2938
</center>
3039
<h1 id="purpose">Purpose</h1>
31-
<p>This driver provides the CMSIS device for the stm32WLxx products. This covers</p>
40+
<p>This driver provides the CMSIS device for the stm32WLxx products.
41+
This covers</p>
3242
<ul>
3343
<li>STM32WL55xx devices</li>
3444
<li>STM32WL54xx devices</li>
3545
<li>STM32WLE5xx devices</li>
3646
<li>STM32WLE4xx devices</li>
3747
<li>STM32WL5Mxx devices</li>
3848
</ul>
39-
<p>This driver is composed of the descriptions of the registers under “Include” directory.</p>
40-
<p>Various template file are provided to easily build an application. They can be adapted to fit applications requirements.</p>
49+
<p>This driver is composed of the descriptions of the registers under
50+
“Include” directory.</p>
51+
<p>Various template file are provided to easily build an application.
52+
They can be adapted to fit applications requirements.</p>
4153
<ul>
42-
<li>Templates/system_stm32WLxx.c contains the initialization code referred as SystemInit.</li>
43-
<li>Startup files are provided as example for IAR©, KEIL© and STM32CubeIDE©.</li>
44-
<li>Linker files are provided as example for IAR©, KEIL© and STM32CubeIDE©.</li>
54+
<li>Templates/system_stm32WLxx.c contains the initialization code
55+
referred as SystemInit.</li>
56+
<li>Startup files are provided as example for IAR©, KEIL© and
57+
STM32CubeIDE©.</li>
58+
<li>Linker files are provided as example for IAR©, KEIL© and
59+
STM32CubeIDE©.</li>
4560
</ul>
4661
</div>
47-
<div class="col-sm-12 col-lg-8">
48-
<h1 id="update-history">Update History</h1>
62+
<section id="update-history" class="col-sm-12 col-lg-8">
63+
<h1>Update History</h1>
4964
<div class="collapse">
50-
<input type="checkbox" id="collapse-section4" checked aria-hidden="true"> <label for="collapse-section4" aria-hidden="true"><strong>V1.2.0 / 09-November-2022</strong></label>
65+
<input type="checkbox" id="collapse-section5" checked aria-hidden="true">
66+
<label for="collapse-section5" aria-hidden="true"><strong>V1.3.0 /
67+
29-October-2025</strong></label>
5168
<div>
5269
<h2 id="main-changes">Main Changes</h2>
5370
<ul>
54-
<li>Add new device STM32WL5Mxx</li>
55-
<li>Rename ADC_TRx to ADC_AWDxTR to match with Reference Manual</li>
56-
<li>Fix inconsistent IRQn_Type enumeration for supervisor call exception with alias for compatibility</li>
71+
<li>Update STM32CubeIDE projects to fix the location of .size directive
72+
in startup code to allow proper size information of vector table</li>
73+
<li>Change addresses of ROM symbols in <em><em>sram</em></em>.icf
74+
template files to code region alias in order to increase performance
75+
while running code from SRAM</li>
76+
<li>Allow redefinition of the macro ‘VECT_TAB_OFFSET’ externally from
77+
the IDE, makefile, or command line.</li>
5778
</ul>
5879
<h2 id="known-limitations">Known Limitations</h2>
5980
<p>None</p>
@@ -64,11 +85,16 @@ <h2 id="notes">Notes</h2>
6485
</div>
6586
</div>
6687
<div class="collapse">
67-
<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true"><strong>V1.1.1 / 4-February-2022</strong></label>
88+
<input type="checkbox" id="collapse-section4" aria-hidden="true">
89+
<label for="collapse-section4" aria-hidden="true"><strong>V1.2.0 /
90+
09-November-2022</strong></label>
6891
<div>
6992
<h2 id="main-changes-1">Main Changes</h2>
7093
<ul>
71-
<li>All source files and templates: update disclaimer to add reference to the new license agreement</li>
94+
<li>Add new device STM32WL5Mxx</li>
95+
<li>Rename ADC_TRx to ADC_AWDxTR to match with Reference Manual</li>
96+
<li>Fix inconsistent IRQn_Type enumeration for supervisor call exception
97+
with alias for compatibility</li>
7298
</ul>
7399
<h2 id="known-limitations-1">Known Limitations</h2>
74100
<p>None</p>
@@ -79,17 +105,14 @@ <h2 id="notes-1">Notes</h2>
79105
</div>
80106
</div>
81107
<div class="collapse">
82-
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 / 16-June-2021</strong></label>
108+
<input type="checkbox" id="collapse-section3" aria-hidden="true">
109+
<label for="collapse-section3" aria-hidden="true"><strong>V1.1.1 /
110+
4-February-2022</strong></label>
83111
<div>
84112
<h2 id="main-changes-2">Main Changes</h2>
85113
<ul>
86-
<li>Add atomic register access services:
87-
<ul>
88-
<li>32-bit register access: ATOMIC_SET_BIT(), ATOMIC_CLEAR_BIT(), ATOMIC_MODIFY_REG()</li>
89-
<li>16-bit register access: ATOMIC_SETH_BIT(), ATOMIC_CLEARH_BIT(), ATOMIC_MODIFYH_BIT()</li>
90-
</ul></li>
91-
<li>Add define LSI_STARTUP_TIME used in default IWDG timeout calculation (HAL_IWDG_DEFAULT_TIMEOUT)</li>
92-
<li>Add reference to user manual for customization of CubeIDE linker files</li>
114+
<li>All source files and templates: update disclaimer to add reference
115+
to the new license agreement</li>
93116
</ul>
94117
<h2 id="known-limitations-2">Known Limitations</h2>
95118
<p>None</p>
@@ -100,12 +123,24 @@ <h2 id="notes-2">Notes</h2>
100123
</div>
101124
</div>
102125
<div class="collapse">
103-
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 / 28-October-2020</strong></label>
126+
<input type="checkbox" id="collapse-section2" aria-hidden="true">
127+
<label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 /
128+
16-June-2021</strong></label>
104129
<div>
105130
<h2 id="main-changes-3">Main Changes</h2>
106-
<p><strong>First Official Release</strong></p>
107-
<h2 id="contents">Contents</h2>
108-
<p>First official release of CMSIS drivers for STM32WLxx lines</p>
131+
<ul>
132+
<li>Add atomic register access services:
133+
<ul>
134+
<li>32-bit register access: ATOMIC_SET_BIT(), ATOMIC_CLEAR_BIT(),
135+
ATOMIC_MODIFY_REG()</li>
136+
<li>16-bit register access: ATOMIC_SETH_BIT(), ATOMIC_CLEARH_BIT(),
137+
ATOMIC_MODIFYH_BIT()</li>
138+
</ul></li>
139+
<li>Add define LSI_STARTUP_TIME used in default IWDG timeout calculation
140+
(HAL_IWDG_DEFAULT_TIMEOUT)</li>
141+
<li>Add reference to user manual for customization of CubeIDE linker
142+
files</li>
143+
</ul>
109144
<h2 id="known-limitations-3">Known Limitations</h2>
110145
<p>None</p>
111146
<h2 id="dependencies-3">Dependencies</h2>
@@ -114,13 +149,34 @@ <h2 id="notes-3">Notes</h2>
114149
<p>None</p>
115150
</div>
116151
</div>
152+
<div class="collapse">
153+
<input type="checkbox" id="collapse-section1" aria-hidden="true">
154+
<label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 /
155+
28-October-2020</strong></label>
156+
<div>
157+
<h2 id="main-changes-4">Main Changes</h2>
158+
<p><strong>First Official Release</strong></p>
159+
<h2 id="contents">Contents</h2>
160+
<p>First official release of CMSIS drivers for STM32WLxx lines</p>
161+
<h2 id="known-limitations-4">Known Limitations</h2>
162+
<p>None</p>
163+
<h2 id="dependencies-4">Dependencies</h2>
164+
<p>None</p>
165+
<h2 id="notes-4">Notes</h2>
166+
<p>None</p>
167+
</div>
117168
</div>
169+
</section>
118170
</div>
119171
<footer class="sticky">
120172
<div class="columns">
121173
<div class="column" style="width:95%;">
122-
<p>For complete documentation on STM32WLxx, visit: <a href="http://www.st.com/stm32wl">www.st.com/stm32wl</a></p>
123-
<p><em>This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.</em></p>
174+
<p>For complete documentation on STM32WLxx, visit: <a
175+
href="http://www.st.com/stm32wl">www.st.com/stm32wl</a></p>
176+
<p><em>This release note uses up to date web standards and, for this
177+
reason, should not be opened with Internet Explorer but preferably with
178+
popular browsers such as Google Chrome, Mozilla Firefox, Opera or
179+
Microsoft Edge.</em></p>
124180
</div><div class="column" style="width:5%;">
125181
<p><abbr title="Based on template cx566953 version 2.0">Info</abbr></p>
126182
</div>

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl54xx_cm0plus.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -179,6 +178,8 @@ g_pfnVectors:
179178
.word SUBGHZSPI_IRQHandler /* SUBGHZSPI Interrupt */
180179
.word SUBGHZ_Radio_IRQHandler /* SUBGHZ Radio Interrupt */
181180

181+
.size g_pfnVectors, .-g_pfnVectors
182+
182183
/*******************************************************************************
183184
*
184185
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl54xx_cm4.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -209,6 +208,8 @@ g_pfnVectors:
209208
.word DMA2_Channel7_IRQHandler /* DMA2 channel 7 interrupt */
210209
.word DMAMUX1_OVR_IRQHandler /* DMAMUX overrun interrupt */
211210

211+
.size g_pfnVectors, .-g_pfnVectors
212+
212213
/*******************************************************************************
213214
*
214215
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl55xx_cm0plus.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -179,6 +178,8 @@ g_pfnVectors:
179178
.word SUBGHZSPI_IRQHandler /* SUBGHZSPI Interrupt */
180179
.word SUBGHZ_Radio_IRQHandler /* SUBGHZ Radio Interrupt */
181180

181+
.size g_pfnVectors, .-g_pfnVectors
182+
182183
/*******************************************************************************
183184
*
184185
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl55xx_cm4.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -209,6 +208,8 @@ g_pfnVectors:
209208
.word DMA2_Channel7_IRQHandler /* DMA2 channel 7 interrupt */
210209
.word DMAMUX1_OVR_IRQHandler /* DMAMUX overrun interrupt */
211210

211+
.size g_pfnVectors, .-g_pfnVectors
212+
212213
/*******************************************************************************
213214
*
214215
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl5mxx_cm0plus.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -179,6 +178,8 @@ g_pfnVectors:
179178
.word SUBGHZSPI_IRQHandler /* SUBGHZSPI Interrupt */
180179
.word SUBGHZ_Radio_IRQHandler /* SUBGHZ Radio Interrupt */
181180

181+
.size g_pfnVectors, .-g_pfnVectors
182+
182183
/*******************************************************************************
183184
*
184185
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32WLxx/Source/Templates/gcc/startup_stm32wl5mxx_cm4.s

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ Infinite_Loop:
127127
******************************************************************************/
128128
.section .isr_vector,"a",%progbits
129129
.type g_pfnVectors, %object
130-
.size g_pfnVectors, .-g_pfnVectors
131130

132131
g_pfnVectors:
133132
.word _estack
@@ -209,6 +208,8 @@ g_pfnVectors:
209208
.word DMA2_Channel7_IRQHandler /* DMA2 channel 7 interrupt */
210209
.word DMAMUX1_OVR_IRQHandler /* DMAMUX overrun interrupt */
211210

211+
.size g_pfnVectors, .-g_pfnVectors
212+
212213
/*******************************************************************************
213214
*
214215
* Provide weak aliases for each Exception handler to the Default_Handler.

0 commit comments

Comments
 (0)