Skip to content

Commit 9307dd3

Browse files
committed
system(C0): add STM32C0xx system source files
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent aadd4ca commit 9307dd3

File tree

3 files changed

+514
-0
lines changed

3 files changed

+514
-0
lines changed

system/STM32C0xx/stm32c0xx_hal_conf.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#ifndef __STM32C0xx_HAL_CONF_H
2+
#define __STM32C0xx_HAL_CONF_H
3+
4+
#include "variant.h"
5+
6+
/* STM32C0xx specific HAL configuration options. */
7+
#if __has_include("hal_conf_custom.h")
8+
#include "hal_conf_custom.h"
9+
#else
10+
#if __has_include("hal_conf_extra.h")
11+
#include "hal_conf_extra.h"
12+
#endif
13+
#include "stm32c0xx_hal_conf_default.h"
14+
#endif
15+
16+
#endif /* __STM32C0xx_HAL_CONF_H */
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
/**
2+
******************************************************************************
3+
* @file stm32c0xx_hal_conf.h
4+
* @author MCD Application Team
5+
* @brief HAL configuration template file.
6+
* This file should be copied to the application folder and renamed
7+
* to stm32c0xx_hal_conf.h.
8+
******************************************************************************
9+
* @attention
10+
*
11+
* Copyright (c) 2022 STMicroelectronics.
12+
* All rights reserved.
13+
*
14+
* This software is licensed under terms that can be found in the LICENSE file
15+
* in the root directory of this software component.
16+
* If no LICENSE file comes with this software, it is provided AS-IS.
17+
*
18+
******************************************************************************
19+
*/
20+
21+
/* Define to prevent recursive inclusion -------------------------------------*/
22+
#ifndef STM32C0xx_HAL_CONF_H
23+
#define STM32C0xx_HAL_CONF_H
24+
25+
#ifdef __cplusplus
26+
extern "C" {
27+
#endif
28+
29+
/* Exported types ------------------------------------------------------------*/
30+
/* Exported constants --------------------------------------------------------*/
31+
32+
/* ########################## Module Selection ############################## */
33+
/**
34+
* @brief This is the list of modules to be used in the HAL driver
35+
*/
36+
#define HAL_MODULE_ENABLED
37+
#define HAL_ADC_MODULE_ENABLED
38+
#define HAL_CORTEX_MODULE_ENABLED
39+
#define HAL_CRC_MODULE_ENABLED
40+
#define HAL_DMA_MODULE_ENABLED
41+
#define HAL_EXTI_MODULE_ENABLED
42+
#define HAL_FLASH_MODULE_ENABLED
43+
#define HAL_GPIO_MODULE_ENABLED
44+
#define HAL_I2C_MODULE_ENABLED
45+
#define HAL_I2S_MODULE_ENABLED
46+
#define HAL_IRDA_MODULE_ENABLED
47+
#define HAL_IWDG_MODULE_ENABLED
48+
#define HAL_PWR_MODULE_ENABLED
49+
#define HAL_RCC_MODULE_ENABLED
50+
#define HAL_RTC_MODULE_ENABLED
51+
#define HAL_SMARTCARD_MODULE_ENABLED
52+
#define HAL_SMBUS_MODULE_ENABLED
53+
#define HAL_SPI_MODULE_ENABLED
54+
#define HAL_TIM_MODULE_ENABLED
55+
#define HAL_UART_MODULE_ENABLED
56+
#define HAL_USART_MODULE_ENABLED
57+
#define HAL_WWDG_MODULE_ENABLED
58+
59+
/* ########################## Register Callbacks selection ############################## */
60+
/**
61+
* @brief Set below the peripheral configuration to "1U" to add the support
62+
* of HAL callback registration/unregistration feature for the HAL
63+
* driver(s). This allows user application to provide specific callback
64+
* functions thanks to HAL_PPP_RegisterCallback() rather than overwriting
65+
* the default weak callback functions (see each stm32c0xx_hal_ppp.h file
66+
* for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef
67+
* for each PPP peripheral).
68+
*/
69+
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
70+
#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
71+
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
72+
#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
73+
#define USE_HAL_IWDG_REGISTER_CALLBACKS 0U /* IWDG register callback disabled */
74+
#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
75+
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
76+
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
77+
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
78+
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
79+
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
80+
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
81+
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
82+
83+
/* ########################## Oscillator Values adaptation ####################*/
84+
/**
85+
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
86+
* This value is used by the RCC HAL module to compute the system frequency
87+
* (when HSE is used as system clock source, directly or through the PLL).
88+
*/
89+
#if !defined (HSE_VALUE)
90+
#define HSE_VALUE (48000000U) /*!< Value of the External oscillator in Hz */
91+
#endif /* HSE_VALUE */
92+
93+
#if !defined (HSE_STARTUP_TIMEOUT)
94+
#define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */
95+
#endif /* HSE_STARTUP_TIMEOUT */
96+
97+
/**
98+
* @brief Internal High Speed oscillator (HSI) value.
99+
* This value is used by the RCC HAL module to compute the system frequency
100+
* (when HSI is used as system clock source, directly or through the PLL).
101+
*/
102+
#if !defined (HSI_VALUE)
103+
#define HSI_VALUE (48000000U) /*!< Value of the Internal oscillator in Hz*/
104+
#endif /* HSI_VALUE */
105+
106+
/**
107+
* @brief Internal Low Speed oscillator (LSI) value.
108+
*/
109+
#if !defined (LSI_VALUE)
110+
#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
111+
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
112+
The real value may vary depending on the variations
113+
in voltage and temperature.*/
114+
#if !defined (LSI_STARTUP_TIME)
115+
#define LSI_STARTUP_TIME 130UL /*!< Time out for LSI start up, in ms */
116+
#endif /* LSI_STARTUP_TIME */
117+
/**
118+
* @brief External Low Speed oscillator (LSE) value.
119+
* This value is used by the UART, RTC HAL module to compute the system frequency
120+
*/
121+
#if !defined (LSE_VALUE)
122+
#define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/
123+
#endif /* LSE_VALUE */
124+
125+
#if !defined (LSE_STARTUP_TIMEOUT)
126+
#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */
127+
#endif /* LSE_STARTUP_TIMEOUT */
128+
129+
/**
130+
* @brief External clock source for I2S1 peripheral
131+
* This value is used by the RCC HAL module to compute the I2S1 clock source
132+
* frequency.
133+
*/
134+
#if !defined (EXTERNAL_I2S1_CLOCK_VALUE)
135+
#define EXTERNAL_I2S1_CLOCK_VALUE (48000UL) /*!< Value of the I2S1 External clock source in Hz*/
136+
#endif /* EXTERNAL_I2S1_CLOCK_VALUE */
137+
138+
/* Tip: To avoid modifying this file each time you need to use different HSE,
139+
=== you can define the HSE value in your toolchain compiler preprocessor. */
140+
141+
/* ########################### System Configuration ######################### */
142+
/**
143+
* @brief This is the HAL system configuration section
144+
*/
145+
#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */
146+
#define TICK_INT_PRIORITY ((1UL<<__NVIC_PRIO_BITS) - 1UL) /*!< tick interrupt priority */
147+
#define USE_RTOS 0U
148+
#define PREFETCH_ENABLE 1U
149+
#define INSTRUCTION_CACHE_ENABLE 1U
150+
151+
152+
/* ########################## Assert Selection ############################## */
153+
/**
154+
* @brief Uncomment the line below to expanse the "assert_param" macro in the
155+
* HAL drivers code
156+
*/
157+
/* #define USE_FULL_ASSERT 1U */
158+
159+
/* Includes ------------------------------------------------------------------*/
160+
/**
161+
* @brief Include modules header file
162+
*/
163+
164+
#ifdef HAL_RCC_MODULE_ENABLED
165+
#include "stm32c0xx_hal_rcc.h"
166+
#endif /* HAL_RCC_MODULE_ENABLED */
167+
168+
#ifdef HAL_GPIO_MODULE_ENABLED
169+
#include "stm32c0xx_hal_gpio.h"
170+
#endif /* HAL_GPIO_MODULE_ENABLED */
171+
172+
#ifdef HAL_DMA_MODULE_ENABLED
173+
#include "stm32c0xx_hal_dma.h"
174+
#endif /* HAL_DMA_MODULE_ENABLED */
175+
176+
#ifdef HAL_CORTEX_MODULE_ENABLED
177+
#include "stm32c0xx_hal_cortex.h"
178+
#endif /* HAL_CORTEX_MODULE_ENABLED */
179+
180+
#ifdef HAL_ADC_MODULE_ENABLED
181+
#include "stm32c0xx_hal_adc.h"
182+
#include "stm32c0xx_hal_adc_ex.h"
183+
#endif /* HAL_ADC_MODULE_ENABLED */
184+
185+
#ifdef HAL_CRC_MODULE_ENABLED
186+
#include "stm32c0xx_hal_crc.h"
187+
#endif /* HAL_CRC_MODULE_ENABLED */
188+
189+
#ifdef HAL_EXTI_MODULE_ENABLED
190+
#include "stm32c0xx_hal_exti.h"
191+
#endif /* HAL_EXTI_MODULE_ENABLED */
192+
193+
#ifdef HAL_FLASH_MODULE_ENABLED
194+
#include "stm32c0xx_hal_flash.h"
195+
#endif /* HAL_FLASH_MODULE_ENABLED */
196+
197+
#ifdef HAL_I2C_MODULE_ENABLED
198+
#include "stm32c0xx_hal_i2c.h"
199+
#endif /* HAL_I2C_MODULE_ENABLED */
200+
201+
#ifdef HAL_I2S_MODULE_ENABLED
202+
#include "stm32c0xx_hal_i2s.h"
203+
#endif /* HAL_I2S_MODULE_ENABLED */
204+
205+
#ifdef HAL_IRDA_MODULE_ENABLED
206+
#include "stm32c0xx_hal_irda.h"
207+
#endif /* HAL_IRDA_MODULE_ENABLED */
208+
209+
#ifdef HAL_IWDG_MODULE_ENABLED
210+
#include "stm32c0xx_hal_iwdg.h"
211+
#endif /* HAL_IWDG_MODULE_ENABLED */
212+
213+
#ifdef HAL_PWR_MODULE_ENABLED
214+
#include "stm32c0xx_hal_pwr.h"
215+
#endif /* HAL_PWR_MODULE_ENABLED */
216+
217+
#ifdef HAL_RTC_MODULE_ENABLED
218+
#include "stm32c0xx_hal_rtc.h"
219+
#endif /* HAL_RTC_MODULE_ENABLED */
220+
221+
#ifdef HAL_SMARTCARD_MODULE_ENABLED
222+
#include "stm32c0xx_hal_smartcard.h"
223+
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
224+
225+
#ifdef HAL_SMBUS_MODULE_ENABLED
226+
#include "stm32c0xx_hal_smbus.h"
227+
#endif /* HAL_SMBUS_MODULE_ENABLED */
228+
229+
#ifdef HAL_SPI_MODULE_ENABLED
230+
#include "stm32c0xx_hal_spi.h"
231+
#endif /* HAL_SPI_MODULE_ENABLED */
232+
233+
#ifdef HAL_TIM_MODULE_ENABLED
234+
#include "stm32c0xx_hal_tim.h"
235+
#endif /* HAL_TIM_MODULE_ENABLED */
236+
237+
#ifdef HAL_UART_MODULE_ENABLED
238+
#include "stm32c0xx_hal_uart.h"
239+
#endif /* HAL_UART_MODULE_ENABLED */
240+
241+
#ifdef HAL_USART_MODULE_ENABLED
242+
#include "stm32c0xx_hal_usart.h"
243+
#endif /* HAL_USART_MODULE_ENABLED */
244+
245+
#ifdef HAL_WWDG_MODULE_ENABLED
246+
#include "stm32c0xx_hal_wwdg.h"
247+
#endif /* HAL_WWDG_MODULE_ENABLED */
248+
249+
/* Exported macro ------------------------------------------------------------*/
250+
#ifdef USE_FULL_ASSERT
251+
/**
252+
* @brief The assert_param macro is used for functions parameters check.
253+
* @param expr If expr is false, it calls assert_failed function
254+
* which reports the name of the source file and the source
255+
* line number of the call that failed.
256+
* If expr is true, it returns no value.
257+
* @retval None
258+
*/
259+
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
260+
/* Exported functions ------------------------------------------------------- */
261+
void assert_failed(uint8_t *file, uint32_t line);
262+
#else
263+
#define assert_param(expr) ((void)0U)
264+
#endif /* USE_FULL_ASSERT */
265+
266+
#ifdef __cplusplus
267+
}
268+
#endif
269+
270+
#endif /* STM32C0xx_HAL_CONF_H */

0 commit comments

Comments
 (0)