Skip to content

Commit 8bd959d

Browse files
committed
system(C0): update STM32C0xx CMSIS Drivers to v1.2.0
Included in STM32CubeC0 FW v1.2.0 Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 549af57 commit 8bd959d

File tree

12 files changed

+8348
-348
lines changed

12 files changed

+8348
-348
lines changed

system/Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c011xx.h

+91-163
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c031xx.h

+93-162
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c071xx.h

+7,739
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@
5656
application
5757
*/
5858

59-
#if !defined (STM32C011xx) && !defined (STM32C031xx)
59+
#if !defined (STM32C011xx) && !defined (STM32C031xx) && !defined (STM32C071xx)
6060
/* #define STM32C011xx */ /*!< STM32C011xx Devices */
6161
/* #define STM32C031xx */ /*!< STM32C031xx Devices */
62+
/* #define STM32C071xx */ /*!< STM32C071xx Devices */
6263
#endif
6364

6465
/* Tip: To avoid modifying this file each time you need to switch between these
@@ -77,7 +78,7 @@
7778
* @brief CMSIS Device version number V1.0.0
7879
*/
7980
#define __STM32C0_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
80-
#define __STM32C0_CMSIS_VERSION_SUB1 (0x01U) /*!< [23:16] sub1 version */
81+
#define __STM32C0_CMSIS_VERSION_SUB1 (0x02U) /*!< [23:16] sub1 version */
8182
#define __STM32C0_CMSIS_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */
8283
#define __STM32C0_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
8384
#define __STM32C0_CMSIS_VERSION ((__STM32C0_CMSIS_VERSION_MAIN << 24)\
@@ -97,6 +98,8 @@
9798
#include "stm32c011xx.h"
9899
#elif defined(STM32C031xx)
99100
#include "stm32c031xx.h"
101+
#elif defined(STM32C071xx)
102+
#include "stm32c071xx.h"
100103
#else
101104
#error "Please select first the target STM32C0xx device used in your application (in stm32c0xx.h file)"
102105
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# STM32CubeC0 CMSIS Device MCU Component
2+
3+
![latest tag](https://img.shields.io/github/v/tag/STMicroelectronics/cmsis_device_c0.svg?color=brightgreen)
4+
5+
## Overview
6+
7+
**STM32Cube** is a STMicroelectronics original initiative aimed at making life easier for developers by reducing effort, time and cost.
8+
9+
**STM32Cube** covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform delivered for each STM32 series.
10+
* The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product.
11+
* The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio.
12+
* The BSP drivers of each evaluation, demonstration, or nucleo board provided for this STM32 series.
13+
* A consistent set of middleware libraries such as LevelX, FileX, USBX, OpenBootloader...
14+
* A full set of software projects (basic examples, applications, and demonstrations) for each board, each project developed in three flavors using three toolchains (EWARM, MDK-ARM, and STM32CubeIDE).
15+
16+
Two models of publication are proposed for the STM32Cube embedded software:
17+
* The monolithic **MCU Package**: all STM32Cube software modules of one STM32 series are present (Drivers, Middleware, Projects, Utilities) in the repository (usual name **STM32Cubexx**, xx corresponding to the STM32 series).
18+
* The **MCU component**: each STM32Cube software module being part of the STM32Cube MCU Package, is delivered as an individual repository, allowing the user to select and get only the required software functions.
19+
20+
## Description
21+
22+
This **cmsis_device_c0** MCU component repo is one element of the STM32CubeC0 MCU embedded software package, providing the **cmsis device** part.
23+
24+
## Release note
25+
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_c0/blob/main/Release_Notes.html).
27+
28+
## Compatibility information
29+
30+
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/STM32CubeC0/blob/main/Release_Notes.html) release note.
31+
32+
The full **STM32CubeC0** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeC0).
33+
34+
## Troubleshooting
35+
36+
Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) guide.

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

+82-12
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,22 @@
1111
div.columns{display: flex; gap: min(4vw, 1.5em);}
1212
div.column{flex: auto; overflow-x: auto;}
1313
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
14-
ul.task-list{list-style: none;}
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;}
1517
ul.task-list li input[type="checkbox"] {
18+
font-size: inherit;
1619
width: 0.8em;
1720
margin: 0 0.8em 0.2em -1.6em;
1821
vertical-align: middle;
1922
}
2023
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
2124
</style>
2225
<link rel="stylesheet" href="_htmresc/mini-st_2020.css" />
26+
<link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
2327
<!--[if lt IE 9]>
2428
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
2529
<![endif]-->
26-
<link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
2730
</head>
2831
<body>
2932
<div class="row">
@@ -33,27 +36,94 @@ <h1 id="release-notes-for-stm32c0xx-cmsis">Release Notes for
3336
<mark> STM32C0xx CMSIS </mark></h1>
3437
<p>Copyright © 2022 STMicroelectronics<br />
3538
</p>
36-
<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
39+
<a href="https://www.st.com" class="logo"><img
40+
src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
3741
</center>
3842
</div>
39-
<div class="col-sm-12 col-lg-8">
40-
<h1 id="update-history">Update History</h1>
43+
<section id="update-history" class="col-sm-12 col-lg-8">
44+
<h1><strong>Update History</strong></h1>
4145
<div class="collapse">
42-
<input type="checkbox" id="collapse-section2" checked aria-hidden="true"> <label for="collapse-section2" checked aria-hidden="true"><strong>V1.1.0 / 07-June-2023</strong></label>
46+
<input type="checkbox" id="collapse-section3" checked aria-hidden="true">
47+
<label for="collapse-section3" checked aria-hidden="true"><strong>V1.2.0
48+
/ 05-June-2024</strong></label>
4349
<div>
4450
<h2 id="main-changes">Main Changes</h2>
45-
<p>Align flash register address with STM32C0 reference manual</p>
51+
<ul>
52+
<li>First official release of STM32C0xx CMSIS drivers to support
53+
<strong>STM32C071xx</strong> devices</li>
54+
<li>General updates to fix known defects and enhance implementation</li>
55+
<li>Align version of bit and registers definition with the STM32C0
56+
reference manual</li>
57+
</ul>
58+
<h2 id="contents">Contents</h2>
59+
<ul>
60+
<li><strong>Support of STM32C071xx devices</strong>:
61+
<ul>
62+
<li>Add “stm32c071xx.h” file</li>
63+
<li>Add startup files “startup_stm32c071xx.s” for EWARM, STM32CubeIDE
64+
and MDK-ARM toolchains</li>
65+
<li>Add STM32C071xx devices linker files for EWARM and STM32CubeIDE
66+
toolchains</li>
67+
</ul></li>
68+
<li><strong>Registers and bit field definitions updates</strong> :
69+
<ul>
70+
<li>Add DMAMUX1_RequestGenerator3_BASE and DMAMUX1_RequestGenerator3
71+
definitions</li>
72+
<li>Remove DMA_IFCR_CGIF4, DMA_IFCR_CTCIF4, DMA_IFCR_CHTIF4 and
73+
DMA_IFCR_CTEIF4 definitions</li>
74+
<li>Add ADC_AWD2CR_AWD2CH_19, ADC_AWD2CR_AWD2CH_20, ADC_AWD2CR_AWD2CH_21
75+
and ADC_AWD2CR_AWD2CH_22 bits definitions</li>
76+
<li>Add ADC_AWD3CR_AWD3CH_19, ADC_AWD3CR_AWD3CH_20,
77+
ADC_AWD3CR_AWD3CH_21, ADC_AWD3CR_AWD3CH_22 bits definitions</li>
78+
<li>Add FLASH_OPTR_SECURE_MUXING_EN bit definition</li>
79+
<li>Correct Flash page number section mask (FLASH_CR_PNB_Msk)</li>
80+
<li>Remove extra FLASH_ECCR register bits definitions</li>
81+
<li>Correct masks values of FLASH_PCROP1ASR, FLASH_WRP1AR, FLASH_WRP1BR,
82+
FLASH_WRP1BR, FLASH_PCROP1BER registers</li>
83+
<li>Add FLASH_SIZE macro to compute Flash size value</li>
84+
<li>Fix correct FLASH_OPTR_BORF_LEV and FLASH_OPTR_BORR_LEV
85+
positions</li>
86+
<li>Remove SYSCFG_CFGR1_BOOSTEN bit definition</li>
87+
<li>Correct SYSCFG_CFGR3 register bits masks values</li>
88+
<li>Change SYSCFG_ITLINE0_SR_EWDG bit definition naming by
89+
SYSCFG_ITLINE0_SR_WWDG to be aligned with the reference manual</li>
90+
<li>Change SYSCFG_ITLINE4_SR_CLK_CTRL bit definition naming by
91+
SYSCFG_ITLINE4_SR_RCC to be aligned with the reference manual</li>
92+
<li>Update IS_TIM_REMAP_INSTANCE and IS_TIM_ETRSEL_INSTANCE macros</li>
93+
<li>Update TIM Capture/Compare masks values</li>
94+
<li>Remove extra EXTI interrupts and events Masks</li>
95+
<li>Remove extra PWR_SR2_REGLPF bits definition</li>
96+
<li>Update some RCC_CFGR bit definitions
97+
<ul>
98+
<li>Remove RCC_CFGR_MCO2PRE_3 and RCC_CFGR_MCOPRE_3 bits definitions as
99+
reserved</li>
100+
<li>Update RCC_CFGR_MCO2PRE_Msk and RCC_CFGR_MCOPRE_Msk masks
101+
values</li>
102+
</ul></li>
103+
</ul></li>
104+
</ul>
105+
<h2 id="supported-devices">Supported Devices</h2>
106+
<ul>
107+
<li>STM32C011xx, STM32C031xx and STM32C071xx devices</li>
108+
</ul>
46109
</div>
47110
</div>
48111
<div class="collapse">
49-
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 / 09-February-2022</strong></label>
50-
<div>
112+
<input type="checkbox" id="collapse-section2" aria-hidden="true">
113+
<label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 /
114+
07-June-2023</strong></label>
51115
<h2 id="main-changes-1">Main Changes</h2>
52-
<p>First official release version of bits and registers definition aligned with STM32C0 reference manual</p>
53-
</div>
116+
<p>Align flash register address with STM32C0 reference manual</p>
54117
</div>
118+
<div class="collapse">
119+
<input type="checkbox" id="collapse-section1" aria-hidden="true">
120+
<label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 /
121+
09-February-2022</strong></label>
122+
<h2 id="main-changes-2">Main Changes</h2>
123+
<p>First official release version of bits and registers definition
124+
aligned with STM32C0 reference manual</p>
55125
</div>
56-
126+
</section>
57127
</div>
58128
<footer class="sticky">
59129
This release note uses up to date web standards and, for this reason,

system/Drivers/CMSIS/Device/ST/STM32C0xx/Source/Templates/gcc/startup_stm32c011xx.s

+2-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ Infinite_Loop:
118118
******************************************************************************/
119119
.section .isr_vector,"a",%progbits
120120
.type g_pfnVectors, %object
121-
.size g_pfnVectors, .-g_pfnVectors
122121

123122

124123
g_pfnVectors:
@@ -170,6 +169,8 @@ g_pfnVectors:
170169
.word 0 /* reserved */
171170
.word 0 /* reserved */
172171
.word 0 /* reserved */
172+
173+
.size g_pfnVectors, .-g_pfnVectors
173174
/*******************************************************************************
174175
*
175176
* Provide weak aliases for each Exception handler to the Default_Handler.

system/Drivers/CMSIS/Device/ST/STM32C0xx/Source/Templates/gcc/startup_stm32c031xx.s

+2-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ Infinite_Loop:
118118
******************************************************************************/
119119
.section .isr_vector,"a",%progbits
120120
.type g_pfnVectors, %object
121-
.size g_pfnVectors, .-g_pfnVectors
122121

123122

124123
g_pfnVectors:
@@ -170,6 +169,8 @@ g_pfnVectors:
170169
.word 0 /* reserved */
171170
.word 0 /* reserved */
172171
.word 0 /* reserved */
172+
173+
.size g_pfnVectors, .-g_pfnVectors
173174
/*******************************************************************************
174175
*
175176
* Provide weak aliases for each Exception handler to the Default_Handler.

0 commit comments

Comments
 (0)