Skip to content
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
5 changes: 5 additions & 0 deletions CI/update/templates/startup_stm32yyxx.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/**
* @file startup_stm32yyxx.c
* @brief Includes the CMSIS startup file of the selected device when using the
* HAL v2 driver.
*/
#ifndef _STARTUP_STM32YYXX_C_
#define _STARTUP_STM32YYXX_C_

Expand Down
4 changes: 4 additions & 0 deletions CI/update/templates/stm32_def_build.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/**
* @file stm32_def_build.h
* @brief Selects the CMSIS startup file (CMSIS_STARTUP_FILE) matching the STM32 device.
*/
#ifndef _STM32_DEF_BUILD_
#define _STM32_DEF_BUILD_

Expand Down
2,649 changes: 1,324 additions & 1,325 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h

Large diffs are not rendered by default.

2,669 changes: 1,334 additions & 1,335 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h

Large diffs are not rendered by default.

2,867 changes: 1,433 additions & 1,434 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h

Large diffs are not rendered by default.

2,784 changes: 1,392 additions & 1,392 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h

Large diffs are not rendered by default.

2,774 changes: 1,387 additions & 1,387 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h

Large diffs are not rendered by default.

2,735 changes: 1,367 additions & 1,368 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h

Large diffs are not rendered by default.

2,823 changes: 1,411 additions & 1,412 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
* - IRQ channel definition
* - Peripheral memory mapping and physical registers address definition
* - Peripheral pointer declaration and driver header file inclusion
* - Product miscellaneous configuration: assert macros, …
* - Product miscellaneous configuration: assert macros, ...
* Note: These CMSIS drivers (stm32f0xxxx.h) are always supporting features of the sub-family's superset.
*/

Expand Down Expand Up @@ -102,11 +102,11 @@
#endif /* USE_HAL_DRIVER */

/**
* @brief CMSIS Device version number V2.3.7
* @brief CMSIS Device version number V2.3.8
*/
#define __STM32F0_DEVICE_VERSION_MAIN (0x02) /*!< [31:24] main version */
#define __STM32F0_DEVICE_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */
#define __STM32F0_DEVICE_VERSION_SUB2 (0x07) /*!< [15:8] sub2 version */
#define __STM32F0_DEVICE_VERSION_SUB2 (0x08) /*!< [15:8] sub2 version */
#define __STM32F0_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
#define __STM32F0_DEVICE_VERSION ((__STM32F0_DEVICE_VERSION_MAIN << 24)\
|(__STM32F0_DEVICE_VERSION_SUB1 << 16)\
Expand Down Expand Up @@ -237,13 +237,13 @@ typedef enum
} while(0)

/* Atomic 16-bit register access macro to set one or several bits */
#define ATOMIC_SETH_BIT(REG, BIT) ATOMIC_SET_BIT(REG, BIT) \
#define ATOMIC_SETH_BIT(REG, BIT) ATOMIC_SET_BIT((REG), (BIT)) \

/* Atomic 16-bit register access macro to clear one or several bits */
#define ATOMIC_CLEARH_BIT(REG, BIT) ATOMIC_CLEAR_BIT(REG, BIT) \
#define ATOMIC_CLEARH_BIT(REG, BIT) ATOMIC_CLEAR_BIT((REG), (BIT)) \

/* Atomic 16-bit register access macro to clear and set one or several bits */
#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) ATOMIC_MODIFY_REG(REG, CLEARMSK, SETMASK) \
#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) ATOMIC_MODIFY_REG((REG), (CLEARMSK), (SETMASK)) \

/**
* @}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ APPENDIX:
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
29 changes: 17 additions & 12 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# STM32CubeF0 CMSIS Device MCU Component

![latest tag](https://img.shields.io/github/v/tag/STMicroelectronics/cmsis_device_f0.svg?color=brightgreen)
![tag](https://img.shields.io/badge/tag-v2.3.8-brightgreen.svg)

## Overview

**STM32Cube** is an STMicroelectronics original initiative to ease the developers life by reducing efforts, time and cost.

**STM32Cube** covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform, delivered for each STM32 series.
* The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product
* The STM32 HAL-LL drivers : an abstraction drivers layer, the API ensuring maximized portability across the STM32 portfolio
* The BSP Drivers of each evaluation or demonstration board provided by this STM32 series
* A consistent set of middlewares components such as RTOS, USB, FatFS, Graphics, STM32_TouchSensing_Library ...
* A full set of software projects (basic examples, applications or demonstrations) for each board provided by this STM32 series
**STM32Cube** covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform delivered for each STM32 series.
* The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product.
* The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio.
* The BSP drivers of each evaluation, demonstration or nucleo board provided for this STM32 series.
* A consistent set of middleware libraries such as RTOS, USB, FatFS, graphics, touch sensing library...
* A full set of software projects (basic examples, applications, and demonstrations) for each board provided for this STM32 series.

Two models of publication are proposed for the STM32Cube embedded software :
* 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)
* 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.
Two models of publication are proposed for the STM32Cube embedded software:
* 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).
* 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.

## Description

Expand All @@ -27,11 +27,16 @@ Details about the content of this release are available in the release note [her

## Compatibility information

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/STM32CubeF0/blob/master/Release_Notes.html) release note.
In this table, you can find the successive versions of this CMSIS Device component, in-line with the corresponding versions of the full MCU package:

CMSIS Device F0 | CMSIS Core | Was delivered in the full MCU package
Tag v2.3.4 | Tag v5.4.0_cm3 | Tag v1.11.0 (and following, if any, till next new tag)
Tag v2.3.4 | Tag v5.4.0_cm3 | Tag v1.11.1 (and following, if any, till next new tag)
Tag v2.3.5 | Tag v5.4.0_cm3 | Tag v1.11.2 (and following, if any, till next new tag)

The full **STM32CubeF0** MCU package is available [here](https://github.com/STMicroelectronics/STM32CubeF0).

## Troubleshooting
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_f0/issues/new).

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).
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/topic/0TO0X000000BSqSWAW/stm32-mcus).
57 changes: 35 additions & 22 deletions system/Drivers/CMSIS/Device/ST/STM32F0xx/Release_Notes.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,25 @@ <h1 id="release-notes-for-stm32f0xx-cmsis"><strong>Release Notes for STM32F0xx C
<div class="col-sm-12 col-lg-8">
<h1 id="update-history"><strong>Update History</strong></h1>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_7" checked aria-hidden="true"> <label for="collapse-section2_3_7" aria-hidden="true"><strong>V2.3.7/ 27-January-2023</strong></label>
<input type="checkbox" id="collapse-section2_3_8" checked aria-hidden="true"> <label for="collapse-section2_3_8" aria-hidden="true"><strong>V2.3.8/ 19-September-2026</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates
<ul>
<li>Remove Unique device ID (UID) register definition from STM32F030x4/x6/x8/xC and STM32F070x6/xB advanced Arm®-based 32-bit MCUs.</li>
<li>Add support for HSI48 in SystemCoreClockUpdate.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_7" aria-hidden="true"> <label for="collapse-section2_3_7" aria-hidden="true"><strong>V2.3.7/ 27-January-2023</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>General updates
<ul>
<li>All source files: update disclaimer to add reference to the new license agreement.</li>
<li>Update GCC startup files to call SystemInit() API in beginning of Reset_Handler() API to be aligned with IAR/MDK-ARM implementation.</li>
<li>Fix inconsistent IRQn_Type enumeration for supervisor call exception with alias for compatibility</li>
Expand All @@ -55,7 +68,7 @@ <h2 id="main-changes">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_6" aria-hidden="true"> <label for="collapse-section2_3_6" aria-hidden="true"><strong>V2.3.6 / 23-July-2021</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General updates
<ul>
Expand All @@ -72,7 +85,7 @@ <h2 id="main-changes-1">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_5" aria-hidden="true"> <label for="collapse-section2_3_5" aria-hidden="true"><strong>V2.3.5 / 06-November-2020</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>General updates
<ul>
Expand All @@ -86,7 +99,7 @@ <h2 id="main-changes-2">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_4" aria-hidden="true"> <label for="collapse-section2_3_4" aria-hidden="true"><strong>V2.3.4 / 12-September-2019</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<h2 id="main-changes-4">Main Changes</h2>
<ul>
<li>General updates
<ul>
Expand All @@ -102,7 +115,7 @@ <h2 id="main-changes-3">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_3" aria-hidden="true"> <label for="collapse-section2_3_3" aria-hidden="true"><strong>V2.3.3 / 25-August-2017</strong></label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<h2 id="main-changes-5">Main Changes</h2>
<ul>
<li>Remove support of Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain.</li>
<li>Performance improvement of the startup code for GCC.</li>
Expand All @@ -112,7 +125,7 @@ <h2 id="main-changes-4">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_2" aria-hidden="true"> <label for="collapse-section2_3_2" aria-hidden="true"><strong>V2.3.2 / 07-April-2017</strong></label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<h2 id="main-changes-6">Main Changes</h2>
<ul>
<li>Rename GPIO_AFRH and GPIO_AFRL bitfields for alignment with all STM32 series.</li>
<li>Add macro definition : IS_TIM_ADVANCED.</li>
Expand All @@ -123,7 +136,7 @@ <h2 id="main-changes-5">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_1" aria-hidden="true"> <label for="collapse-section2_3_1" aria-hidden="true"><strong>V2.3.1 / 04-November-2016</strong></label>
<div>
<h2 id="main-changes-6">Main Changes</h2>
<h2 id="main-changes-7">Main Changes</h2>
<ul>
<li>Add TIM6_IRQHandler in vectors table for STM32F030x8 devices</li>
</ul>
Expand All @@ -132,7 +145,7 @@ <h2 id="main-changes-6">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_3_0" aria-hidden="true"> <label for="collapse-section2_3_0" aria-hidden="true"><strong>V2.3.0 / 27-May-2016</strong></label>
<div>
<h2 id="main-changes-7">Main Changes</h2>
<h2 id="main-changes-8">Main Changes</h2>
<ul>
<li>General updates
<ul>
Expand Down Expand Up @@ -190,7 +203,7 @@ <h2 id="main-changes-7">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_2_3" aria-hidden="true"> <label for="collapse-section2_2_3" aria-hidden="true"><strong>V2.2.3 / 29-January-2016</strong></label>
<div>
<h2 id="main-changes-8">Main Changes</h2>
<h2 id="main-changes-9">Main Changes</h2>
<ul>
<li>Added mention to STM32F091xB mcus missing in the list of mcus of stm32f0xx.h.</li>
<li>Updated CMSIS Device compliance with MISRA C 2004 rule 10.6.</li>
Expand Down Expand Up @@ -229,7 +242,7 @@ <h2 id="main-changes-8">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_2_2" aria-hidden="true"> <label for="collapse-section2_2_2" aria-hidden="true"><strong>V2.2.2 / 26-June-2015</strong></label>
<div>
<h2 id="main-changes-9">Main Changes</h2>
<h2 id="main-changes-10">Main Changes</h2>
<ul>
<li>Add missing WUT bits in EXTI_IMR/EMR/RTSR/FTSR/PR/SWIER for different IT lines.</li>
<li>Add preprocessor compilation switch #define STM32F0 in stm32f0xx.h.</li>
Expand All @@ -246,7 +259,7 @@ <h2 id="main-changes-9">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_2_1" aria-hidden="true"> <label for="collapse-section2_2_1" aria-hidden="true"><strong>V2.2.1 / 09-January-2015</strong></label>
<div>
<h2 id="main-changes-10">Main Changes</h2>
<h2 id="main-changes-11">Main Changes</h2>
<ul>
<li>system_stm32f0xx.c: replace wrong compilation switch STM32F078xB by STM32F078xx.</li>
<li>stm32F070xb.h: correct wrong DMA remap mask value for STM32f070xB.</li>
Expand All @@ -258,7 +271,7 @@ <h2 id="main-changes-10">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_2_0" aria-hidden="true"> <label for="collapse-section2_2_0" aria-hidden="true"><strong>V2.2.0 / 05-December-2014</strong></label>
<div>
<h2 id="main-changes-11">Main Changes</h2>
<h2 id="main-changes-12">Main Changes</h2>
<ul>
<li>Add CMSIS files for new STM32F0 value line devices: STM32F030xC and STM32F070x6/xB.</li>
<li>Add macro to check AF capability of gpio instance</li>
Expand All @@ -271,7 +284,7 @@ <h2 id="main-changes-11">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_1_0" aria-hidden="true"> <label for="collapse-section2_1_0" aria-hidden="true"><strong>V2.1.0 / 03-October-2014</strong></label>
<div>
<h2 id="main-changes-12">Main Changes</h2>
<h2 id="main-changes-13">Main Changes</h2>
<ul>
<li>Add new CMSIS files for STM32F091xc and STM32F098xx products</li>
<li>VDDIO2 IRQ missing in F07xx/F09xx/F04xx product</li>
Expand All @@ -287,7 +300,7 @@ <h2 id="main-changes-12">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_0_1" aria-hidden="true"> <label for="collapse-section2_0_1" aria-hidden="true"><strong>V2.0.1 / 18-June-2014</strong></label>
<div>
<h2 id="main-changes-13">Main Changes</h2>
<h2 id="main-changes-14">Main Changes</h2>
<ul>
<li>General
<ul>
Expand Down Expand Up @@ -322,7 +335,7 @@ <h2 id="main-changes-13">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2_0_0" aria-hidden="true"> <label for="collapse-section2_0_0" aria-hidden="true"><strong>V2.0.0 / 28-May-2014</strong></label>
<div>
<h2 id="main-changes-14">Main Changes</h2>
<h2 id="main-changes-15">Main Changes</h2>
<ul>
<li>Major update based on STM32Cube specification: new CMSIS device files release dedicated to <strong>STM32F030x4/x6, STM32F030x8, STM32F031x4/x6, STM32F051x4/x6/x8, STM32F071x8/xB, STM32F042x4/x6, STM32F072x8/xB, STM32F038xx, STM32F048xx, STM32F058xx and STM32F078xx devices</strong>.</li>
<li><strong>This version has to be used for STM32CubeF0 based development although files can be used independently too</strong>.</li>
Expand All @@ -332,7 +345,7 @@ <h2 id="main-changes-14">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_1" aria-hidden="true"> <label for="collapse-section1_2_1" aria-hidden="true"><strong>V1.2.1 / 22-November-2013</strong></label>
<div>
<h2 id="main-changes-15">Main Changes</h2>
<h2 id="main-changes-16">Main Changes</h2>
<ul>
<li>stm32f0xx.h
<ul>
Expand All @@ -353,7 +366,7 @@ <h2 id="main-changes-15">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_0" aria-hidden="true"> <label for="collapse-section1_2_0" aria-hidden="true"><strong>V1.2.0 / 01-August-2013</strong></label>
<div>
<h2 id="main-changes-16">Main Changes</h2>
<h2 id="main-changes-17">Main Changes</h2>
<ul>
<li>Add support of STM32F030 devices (STM32F030x8 and STM32F030x6 microcontrollers where the Flash memory ranges between 16 and 32 Kbytes)</li>
<li>stm32f0xx.h
Expand All @@ -370,7 +383,7 @@ <h2 id="main-changes-16">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_1" aria-hidden="true"> <label for="collapse-section1_1_1" aria-hidden="true"><strong>V1.1.1 / 31-July-2013</strong></label>
<div>
<h2 id="main-changes-17">Main Changes</h2>
<h2 id="main-changes-18">Main Changes</h2>
<ul>
<li>stm32f0xx.h
<ul>
Expand All @@ -382,7 +395,7 @@ <h2 id="main-changes-17">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_0" aria-hidden="true"> <label for="collapse-section1_1_0" aria-hidden="true"><strong>V1.1.0 / 10-May-2013</strong></label>
<div>
<h2 id="main-changes-18">Main Changes</h2>
<h2 id="main-changes-19">Main Changes</h2>
<ul>
<li>Add support of STM32F0xx Low-density devices (STM32F050xx and STM32F060xx microcontrollers where the Flash memory ranges between 16 and 32 Kbytes)</li>
<li>stm32f0xx.h
Expand Down Expand Up @@ -410,7 +423,7 @@ <h2 id="main-changes-18">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_2" aria-hidden="true"> <label for="collapse-section1_0_2" aria-hidden="true"><strong>V1.0.2 / 13-July-2012</strong></label>
<div>
<h2 id="main-changes-19">Main Changes</h2>
<h2 id="main-changes-20">Main Changes</h2>
<ul>
<li>stm32f0xx.h
<ul>
Expand All @@ -422,7 +435,7 @@ <h2 id="main-changes-19">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_1" aria-hidden="true"> <label for="collapse-section1_0_1" aria-hidden="true"><strong>V1.0.1 / 20-April-2012</strong></label>
<div>
<h2 id="main-changes-20">Main Changes</h2>
<h2 id="main-changes-21">Main Changes</h2>
<ul>
<li>stm32f0xx.h
<ul>
Expand All @@ -435,7 +448,7 @@ <h2 id="main-changes-20">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_0" aria-hidden="true"> <label for="collapse-section1_0_0" aria-hidden="true"><strong>V1.0.0 / 04-September-2012</strong></label>
<div>
<h2 id="main-changes-21">Main Changes</h2>
<h2 id="main-changes-22">Main Changes</h2>
<ul>
<li>First official release for <strong>STM32F30x</strong> devices (Standard Library)</li>
</ul>
Expand Down
Loading
Loading