Skip to content

Commit 7fac7e5

Browse files
committed
Add CMSIS Device ST from STM32CubeF0 V1.7.0
Signed-off-by: Frederic.Pillon <frederic.pillon@st.com>
1 parent 507adb6 commit 7fac7e5

File tree

87 files changed

+142825
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+142825
-0
lines changed

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h

+5,332
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h

+5,399
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h

+5,776
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h

+5,651
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h

+5,616
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h

+10,626
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h

+10,590
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h

+6,733
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h

+6,697
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h

+5,576
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h

+5,763
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h

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

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h

+11,251
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h

+11,221
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h

+11,810
Large diffs are not rendered by default.

Diff for: system/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h

+11,777
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
/**
2+
******************************************************************************
3+
* @file stm32f0xx.h
4+
* @author MCD Application Team
5+
* @version V2.3.1
6+
* @date 04-November-2016
7+
* @brief CMSIS STM32F0xx Device Peripheral Access Layer Header File.
8+
*
9+
* The file is the unique include file that the application programmer
10+
* is using in the C source code, usually in main.c. This file contains:
11+
* - Configuration section that allows to select:
12+
* - The STM32F0xx device used in the target application
13+
* - To use or not the peripheral’s drivers in application code(i.e.
14+
* code will be based on direct access to peripheral’s registers
15+
* rather than drivers API), this option is controlled by
16+
* "#define USE_HAL_DRIVER"
17+
*
18+
******************************************************************************
19+
* @attention
20+
*
21+
* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
22+
*
23+
* Redistribution and use in source and binary forms, with or without modification,
24+
* are permitted provided that the following conditions are met:
25+
* 1. Redistributions of source code must retain the above copyright notice,
26+
* this list of conditions and the following disclaimer.
27+
* 2. Redistributions in binary form must reproduce the above copyright notice,
28+
* this list of conditions and the following disclaimer in the documentation
29+
* and/or other materials provided with the distribution.
30+
* 3. Neither the name of STMicroelectronics nor the names of its contributors
31+
* may be used to endorse or promote products derived from this software
32+
* without specific prior written permission.
33+
*
34+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
35+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
38+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
41+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44+
*
45+
******************************************************************************
46+
*/
47+
48+
/** @addtogroup CMSIS
49+
* @{
50+
*/
51+
52+
/** @addtogroup stm32f0xx
53+
* @{
54+
*/
55+
56+
#ifndef __STM32F0xx_H
57+
#define __STM32F0xx_H
58+
59+
#ifdef __cplusplus
60+
extern "C" {
61+
#endif /* __cplusplus */
62+
63+
/** @addtogroup Library_configuration_section
64+
* @{
65+
*/
66+
67+
/**
68+
* @brief STM32 Family
69+
*/
70+
#if !defined (STM32F0)
71+
#define STM32F0
72+
#endif /* STM32F0 */
73+
74+
/* Uncomment the line below according to the target STM32 device used in your
75+
application
76+
*/
77+
78+
#if !defined (STM32F030x6) && !defined (STM32F030x8) && \
79+
!defined (STM32F031x6) && !defined (STM32F038xx) && \
80+
!defined (STM32F042x6) && !defined (STM32F048xx) && !defined (STM32F070x6) && \
81+
!defined (STM32F051x8) && !defined (STM32F058xx) && \
82+
!defined (STM32F071xB) && !defined (STM32F072xB) && !defined (STM32F078xx) && !defined (STM32F070xB) && \
83+
!defined (STM32F091xC) && !defined (STM32F098xx) && !defined (STM32F030xC)
84+
/* #define STM32F030x6 */ /*!< STM32F030x4, STM32F030x6 Devices (STM32F030xx microcontrollers where the Flash memory ranges between 16 and 32 Kbytes) */
85+
/* #define STM32F030x8 */ /*!< STM32F030x8 Devices (STM32F030xx microcontrollers where the Flash memory is 64 Kbytes) */
86+
/* #define STM32F031x6 */ /*!< STM32F031x4, STM32F031x6 Devices (STM32F031xx microcontrollers where the Flash memory ranges between 16 and 32 Kbytes) */
87+
/* #define STM32F038xx */ /*!< STM32F038xx Devices (STM32F038xx microcontrollers where the Flash memory is 32 Kbytes) */
88+
/* #define STM32F042x6 */ /*!< STM32F042x4, STM32F042x6 Devices (STM32F042xx microcontrollers where the Flash memory ranges between 16 and 32 Kbytes) */
89+
/* #define STM32F048x6 */ /*!< STM32F048xx Devices (STM32F042xx microcontrollers where the Flash memory is 32 Kbytes) */
90+
/* #define STM32F051x8 */ /*!< STM32F051x4, STM32F051x6, STM32F051x8 Devices (STM32F051xx microcontrollers where the Flash memory ranges between 16 and 64 Kbytes) */
91+
/* #define STM32F058xx */ /*!< STM32F058xx Devices (STM32F058xx microcontrollers where the Flash memory is 64 Kbytes) */
92+
/* #define STM32F070x6 */ /*!< STM32F070x6 Devices (STM32F070x6 microcontrollers where the Flash memory ranges between 16 and 32 Kbytes) */
93+
/* #define STM32F070xB */ /*!< STM32F070xB Devices (STM32F070xB microcontrollers where the Flash memory ranges between 64 and 128 Kbytes) */
94+
/* #define STM32F071xB */ /*!< STM32F071x8, STM32F071xB Devices (STM32F071xx microcontrollers where the Flash memory ranges between 64 and 128 Kbytes) */
95+
/* #define STM32F072xB */ /*!< STM32F072x8, STM32F072xB Devices (STM32F072xx microcontrollers where the Flash memory ranges between 64 and 128 Kbytes) */
96+
/* #define STM32F078xx */ /*!< STM32F078xx Devices (STM32F078xx microcontrollers where the Flash memory is 128 Kbytes) */
97+
/* #define STM32F030xC */ /*!< STM32F030xC Devices (STM32F030xC microcontrollers where the Flash memory is 256 Kbytes) */
98+
/* #define STM32F091xC */ /*!< STM32F091xB, STM32F091xC Devices (STM32F091xx microcontrollers where the Flash memory ranges between 128 and 256 Kbytes) */
99+
/* #define STM32F098xx */ /*!< STM32F098xx Devices (STM32F098xx microcontrollers where the Flash memory is 256 Kbytes) */
100+
#endif
101+
102+
/* Tip: To avoid modifying this file each time you need to switch between these
103+
devices, you can define the device in your toolchain compiler preprocessor.
104+
*/
105+
#if !defined (USE_HAL_DRIVER)
106+
/**
107+
* @brief Comment the line below if you will not use the peripherals drivers.
108+
In this case, these drivers will not be included and the application code will
109+
be based on direct access to peripherals registers
110+
*/
111+
/*#define USE_HAL_DRIVER */
112+
#endif /* USE_HAL_DRIVER */
113+
114+
/**
115+
* @brief CMSIS Device version number V2.3.1
116+
*/
117+
#define __STM32F0_DEVICE_VERSION_MAIN (0x02) /*!< [31:24] main version */
118+
#define __STM32F0_DEVICE_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */
119+
#define __STM32F0_DEVICE_VERSION_SUB2 (0x01) /*!< [15:8] sub2 version */
120+
#define __STM32F0_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
121+
#define __STM32F0_DEVICE_VERSION ((__STM32F0_DEVICE_VERSION_MAIN << 24)\
122+
|(__STM32F0_DEVICE_VERSION_SUB1 << 16)\
123+
|(__STM32F0_DEVICE_VERSION_SUB2 << 8 )\
124+
|(__STM32F0_DEVICE_VERSION_RC))
125+
126+
/**
127+
* @}
128+
*/
129+
130+
/** @addtogroup Device_Included
131+
* @{
132+
*/
133+
134+
#if defined(STM32F030x6)
135+
#include "stm32f030x6.h"
136+
#elif defined(STM32F030x8)
137+
#include "stm32f030x8.h"
138+
#elif defined(STM32F031x6)
139+
#include "stm32f031x6.h"
140+
#elif defined(STM32F038xx)
141+
#include "stm32f038xx.h"
142+
#elif defined(STM32F042x6)
143+
#include "stm32f042x6.h"
144+
#elif defined(STM32F048xx)
145+
#include "stm32f048xx.h"
146+
#elif defined(STM32F051x8)
147+
#include "stm32f051x8.h"
148+
#elif defined(STM32F058xx)
149+
#include "stm32f058xx.h"
150+
#elif defined(STM32F070x6)
151+
#include "stm32f070x6.h"
152+
#elif defined(STM32F070xB)
153+
#include "stm32f070xb.h"
154+
#elif defined(STM32F071xB)
155+
#include "stm32f071xb.h"
156+
#elif defined(STM32F072xB)
157+
#include "stm32f072xb.h"
158+
#elif defined(STM32F078xx)
159+
#include "stm32f078xx.h"
160+
#elif defined(STM32F091xC)
161+
#include "stm32f091xc.h"
162+
#elif defined(STM32F098xx)
163+
#include "stm32f098xx.h"
164+
#elif defined(STM32F030xC)
165+
#include "stm32f030xc.h"
166+
#else
167+
#error "Please select first the target STM32F0xx device used in your application (in stm32f0xx.h file)"
168+
#endif
169+
170+
/**
171+
* @}
172+
*/
173+
174+
/** @addtogroup Exported_types
175+
* @{
176+
*/
177+
typedef enum
178+
{
179+
RESET = 0,
180+
SET = !RESET
181+
} FlagStatus, ITStatus;
182+
183+
typedef enum
184+
{
185+
DISABLE = 0,
186+
ENABLE = !DISABLE
187+
} FunctionalState;
188+
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
189+
190+
typedef enum
191+
{
192+
ERROR = 0,
193+
SUCCESS = !ERROR
194+
} ErrorStatus;
195+
196+
/**
197+
* @}
198+
*/
199+
200+
201+
/** @addtogroup Exported_macros
202+
* @{
203+
*/
204+
#define SET_BIT(REG, BIT) ((REG) |= (BIT))
205+
206+
#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
207+
208+
#define READ_BIT(REG, BIT) ((REG) & (BIT))
209+
210+
#define CLEAR_REG(REG) ((REG) = (0x0))
211+
212+
#define WRITE_REG(REG, VAL) ((REG) = (VAL))
213+
214+
#define READ_REG(REG) ((REG))
215+
216+
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
217+
218+
219+
/**
220+
* @}
221+
*/
222+
223+
#if defined (USE_HAL_DRIVER)
224+
#include "stm32f0xx_hal.h"
225+
#endif /* USE_HAL_DRIVER */
226+
227+
228+
#ifdef __cplusplus
229+
}
230+
#endif /* __cplusplus */
231+
232+
#endif /* __STM32F0xx_H */
233+
/**
234+
* @}
235+
*/
236+
237+
/**
238+
* @}
239+
*/
240+
241+
242+
243+
244+
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
/**
2+
******************************************************************************
3+
* @file system_stm32f0xx.h
4+
* @author MCD Application Team
5+
* @version V2.3.1
6+
* @date 04-November-2016
7+
* @brief CMSIS Cortex-M0 Device System Source File for STM32F0xx devices.
8+
******************************************************************************
9+
* @attention
10+
*
11+
* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
12+
*
13+
* Redistribution and use in source and binary forms, with or without modification,
14+
* are permitted provided that the following conditions are met:
15+
* 1. Redistributions of source code must retain the above copyright notice,
16+
* this list of conditions and the following disclaimer.
17+
* 2. Redistributions in binary form must reproduce the above copyright notice,
18+
* this list of conditions and the following disclaimer in the documentation
19+
* and/or other materials provided with the distribution.
20+
* 3. Neither the name of STMicroelectronics nor the names of its contributors
21+
* may be used to endorse or promote products derived from this software
22+
* without specific prior written permission.
23+
*
24+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34+
*
35+
******************************************************************************
36+
*/
37+
38+
/** @addtogroup CMSIS
39+
* @{
40+
*/
41+
42+
/** @addtogroup stm32f0xx_system
43+
* @{
44+
*/
45+
46+
/**
47+
* @brief Define to prevent recursive inclusion
48+
*/
49+
#ifndef __SYSTEM_STM32F0XX_H
50+
#define __SYSTEM_STM32F0XX_H
51+
52+
#ifdef __cplusplus
53+
extern "C" {
54+
#endif
55+
56+
/** @addtogroup STM32F0xx_System_Includes
57+
* @{
58+
*/
59+
60+
/**
61+
* @}
62+
*/
63+
64+
65+
/** @addtogroup STM32F0xx_System_Exported_types
66+
* @{
67+
*/
68+
/* This variable is updated in three ways:
69+
1) by calling CMSIS function SystemCoreClockUpdate()
70+
3) by calling HAL API function HAL_RCC_GetHCLKFreq()
71+
3) by calling HAL API function HAL_RCC_ClockConfig()
72+
Note: If you use this function to configure the system clock; then there
73+
is no need to call the 2 first functions listed above, since SystemCoreClock
74+
variable is updated automatically.
75+
*/
76+
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
77+
extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
78+
extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
79+
80+
/**
81+
* @}
82+
*/
83+
84+
/** @addtogroup STM32F0xx_System_Exported_Constants
85+
* @{
86+
*/
87+
88+
/**
89+
* @}
90+
*/
91+
92+
/** @addtogroup STM32F0xx_System_Exported_Macros
93+
* @{
94+
*/
95+
96+
/**
97+
* @}
98+
*/
99+
100+
/** @addtogroup STM32F0xx_System_Exported_Functions
101+
* @{
102+
*/
103+
104+
extern void SystemInit(void);
105+
extern void SystemCoreClockUpdate(void);
106+
/**
107+
* @}
108+
*/
109+
110+
#ifdef __cplusplus
111+
}
112+
#endif
113+
114+
#endif /*__SYSTEM_STM32F0XX_H */
115+
116+
/**
117+
* @}
118+
*/
119+
120+
/**
121+
* @}
122+
*/
123+
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

0 commit comments

Comments
 (0)