Skip to content

Commit 5275c6a

Browse files
committed
system(wb0): add STM32WB0x system source files
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 527fd41 commit 5275c6a

File tree

3 files changed

+681
-0
lines changed

3 files changed

+681
-0
lines changed

system/STM32WB0x/stm32wb0x_hal_conf.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#ifndef __STM32WB0x_HAL_CONF_H
2+
#define __STM32WB0x_HAL_CONF_H
3+
4+
#include "variant.h"
5+
6+
/* STM32WB0x 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 "stm32wb0x_hal_conf_default.h"
14+
#endif
15+
16+
#endif /* __STM32WB0x_HAL_CONF_H */
Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
/**
2+
******************************************************************************
3+
* @file stm32wb0x_hal_conf.h
4+
* @author MCD Application Team
5+
* @brief HAL configuration file.
6+
******************************************************************************
7+
* @attention
8+
*
9+
* Copyright (c) 2024 STMicroelectronics.
10+
* All rights reserved.
11+
*
12+
* This software is licensed under terms that can be found in the LICENSE file
13+
* in the root directory of this software component.
14+
* If no LICENSE file comes with this software, it is provided AS-IS.
15+
*
16+
******************************************************************************
17+
*/
18+
19+
/* Define to prevent recursive inclusion -------------------------------------*/
20+
#ifndef STM32WB0x_HAL_CONF_H
21+
#define STM32WB0x_HAL_CONF_H
22+
23+
#ifdef __cplusplus
24+
extern "C" {
25+
#endif
26+
27+
/* Exported types ------------------------------------------------------------*/
28+
/* Exported constants --------------------------------------------------------*/
29+
30+
/* ########################## Module Selection ############################## */
31+
/**
32+
* @brief This is the list of modules to be used in the HAL driver
33+
*/
34+
#define HAL_MODULE_ENABLED
35+
#define HAL_ADC_MODULE_ENABLED
36+
#define HAL_CORTEX_MODULE_ENABLED
37+
#define HAL_CRC_MODULE_ENABLED
38+
#define HAL_DMA_MODULE_ENABLED
39+
#define HAL_FLASH_MODULE_ENABLED
40+
#define HAL_GPIO_MODULE_ENABLED
41+
#define HAL_I2C_MODULE_ENABLED
42+
#define HAL_I2S_MODULE_ENABLED
43+
#define HAL_IRDA_MODULE_ENABLED
44+
#define HAL_IWDG_MODULE_ENABLED
45+
#define HAL_PKA_MODULE_ENABLED
46+
#define HAL_PWR_MODULE_ENABLED
47+
#define HAL_RADIO_MODULE_ENABLED
48+
#define HAL_RADIO_TIMER_MODULE_ENABLED
49+
#define HAL_RCC_MODULE_ENABLED
50+
#define HAL_RNG_MODULE_ENABLED
51+
#define HAL_RTC_MODULE_ENABLED
52+
#define HAL_SMARTCARD_MODULE_ENABLED
53+
#define HAL_SMBUS_MODULE_ENABLED
54+
#define HAL_SPI_MODULE_ENABLED
55+
#define HAL_TIM_MODULE_ENABLED
56+
#define HAL_UART_MODULE_ENABLED
57+
#define HAL_USART_MODULE_ENABLED
58+
59+
#define USE_HAL_ADC_REGISTER_CALLBACKS 0u
60+
#define USE_HAL_I2C_REGISTER_CALLBACKS 0u
61+
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0u
62+
#define USE_HAL_PKA_REGISTER_CALLBACKS 0u
63+
#define USE_HAL_RNG_REGISTER_CALLBACKS 0u
64+
#define USE_HAL_RTC_REGISTER_CALLBACKS 0u
65+
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0u
66+
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0u
67+
#define USE_HAL_SPI_REGISTER_CALLBACKS 0u
68+
#define USE_HAL_TIM_REGISTER_CALLBACKS 0u
69+
#define USE_HAL_UART_REGISTER_CALLBACKS 0u
70+
#define USE_HAL_USART_REGISTER_CALLBACKS 0u
71+
72+
/* ########################## Oscillator Values adaptation ####################*/
73+
/**
74+
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
75+
* This value is used by the RCC HAL module to compute the system frequency
76+
* (when HSE is used as system clock source, directly or through the PLL).
77+
*/
78+
79+
#if !defined (HSE_VALUE)
80+
#define HSE_VALUE (32000000UL) /*!< Value of the External oscillator in Hz */
81+
#endif /* HSE_VALUE */
82+
83+
#if !defined (HSE_STARTUP_TIMEOUT)
84+
#define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */
85+
#endif /* HSE_STARTUP_TIMEOUT */
86+
87+
/* Tip: To avoid modifying this file each time you need to use different HSE,
88+
=== you can define the HSE value in your toolchain compiler preprocessor. */
89+
90+
/**
91+
* @brief Internal High Speed oscillator (HSI) value.
92+
* This value is used by the RCC HAL module to compute the system frequency
93+
* (when HSI is used as system clock source, directly or through the PLL).
94+
*/
95+
#if !defined (HSI_VALUE)
96+
#define HSI_VALUE (64000000UL) /*!< Value of the Internal oscillator in Hz*/
97+
#endif /* HSI_VALUE */
98+
99+
/**
100+
* @brief Internal Low Speed oscillator (LSI) value.
101+
*/
102+
#if !defined (LSI_VALUE)
103+
#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
104+
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
105+
The real value may vary depending on the variations
106+
in voltage and temperature.*/
107+
/**
108+
* @brief External Low Speed oscillator (LSE) value.
109+
* This value is used by the UART, RTC HAL module to compute the system frequency
110+
*/
111+
#if !defined (LSE_VALUE)
112+
#define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/
113+
#endif /* LSE_VALUE */
114+
115+
/**
116+
* @brief 64 MHz PLL clock default value.
117+
* This value is the default RC64M_PLL value after Reset.
118+
*/
119+
#if !defined (RC64MPLL_VALUE)
120+
#define RC64MPLL_VALUE (64000000UL) /*!< Value of the Internal oscillator in Hz*/
121+
#endif /* RC64MPLL_VALUE */
122+
123+
#if !defined (LSE_STARTUP_TIMEOUT)
124+
#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */
125+
#endif /* LSE_STARTUP_TIMEOUT */
126+
127+
#if !defined (LSE_DRIVE_LEVEL)
128+
#define LSE_DRIVE_LEVEL RCC_LSEDRIVE_MEDIUMLOW /*!< Drive level for LSE oscillator. */
129+
#endif /* LSE_DRIVE_LEVEL */
130+
131+
132+
/* ########################### System Configuration ######################### */
133+
/**
134+
* @brief This is the HAL system configuration section
135+
*/
136+
#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */
137+
#define TICK_INT_PRIORITY ((1UL<<__NVIC_PRIO_BITS) - 1UL) /*!< tick interrupt priority (lowest by default) */
138+
#define USE_RTOS 0U
139+
140+
/* ########################## Assert Selection ############################## */
141+
/**
142+
* @brief Uncomment the line below to expanse the "assert_param" macro in the
143+
* HAL drivers code
144+
*/
145+
/* #define USE_FULL_ASSERT 1U */
146+
147+
/* ################## SPI peripheral configuration ########################## */
148+
149+
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
150+
* Activated: CRC code is present inside driver
151+
* Deactivated: CRC code cleaned from driver
152+
*/
153+
154+
#define USE_SPI_CRC 1U
155+
156+
/* ################ HSE Capacitor tuning configuration ###################### */
157+
/**
158+
* @brief Default value of the HSE capacitor tuning.
159+
*/
160+
#if !defined(CFG_HW_RCC_HSE_CAPACITOR_TUNE)
161+
#define CFG_HW_RCC_HSE_CAPACITOR_TUNE 32
162+
#endif
163+
164+
/* #################### BLE number of link Configuration #################### */
165+
/**
166+
* @brief This is the BLE number of link configuration section
167+
* Maximum number of simultaneous radio tasks. Radio controller supports up to
168+
* 128 simultaneous radio tasks, but actual usable max value depends on the
169+
* available RAM.
170+
*/
171+
#if !defined (CFG_NUM_RADIO_TASKS)
172+
#define CFG_NUM_RADIO_TASKS (1)
173+
#endif /* CFG_NUM_RADIO_TASKS */
174+
175+
/* ########################### Radio Configuration ######################### */
176+
/**
177+
* @brief This macro must be set to 0 when BLE stack is used. Set to 1 to use
178+
* radio proprietary protocol with action packets.
179+
*/
180+
#if !defined (USE_RADIO_PROPRIETARY_DRIVER)
181+
#define USE_RADIO_PROPRIETARY_DRIVER 1U
182+
#endif /* USE_RADIO_PROPRIETARY_DRIVER */
183+
184+
/* Includes ------------------------------------------------------------------*/
185+
/**
186+
* @brief Include module's header file
187+
*/
188+
#ifdef HAL_DMA_MODULE_ENABLED
189+
#include "stm32wb0x_hal_dma.h"
190+
#endif /* HAL_DMA_MODULE_ENABLED */
191+
192+
#ifdef HAL_ADC_MODULE_ENABLED
193+
#include "stm32wb0x_hal_adc.h"
194+
#endif /* HAL_ADC_MODULE_ENABLED */
195+
196+
#ifdef HAL_CORTEX_MODULE_ENABLED
197+
#include "stm32wb0x_hal_cortex.h"
198+
#endif /* HAL_CORTEX_MODULE_ENABLED */
199+
200+
#ifdef HAL_CRC_MODULE_ENABLED
201+
#include "stm32wb0x_hal_crc.h"
202+
#endif /* HAL_CRC_MODULE_ENABLED */
203+
204+
#ifdef HAL_FLASH_MODULE_ENABLED
205+
#include "stm32wb0x_hal_flash.h"
206+
#endif /* HAL_FLASH_MODULE_ENABLED */
207+
208+
#ifdef HAL_GPIO_MODULE_ENABLED
209+
#include "stm32wb0x_hal_gpio.h"
210+
#endif /* HAL_GPIO_MODULE_ENABLED */
211+
212+
#ifdef HAL_I2C_MODULE_ENABLED
213+
#include "stm32wb0x_hal_i2c.h"
214+
#endif /* HAL_I2C_MODULE_ENABLED */
215+
216+
#ifdef HAL_I2S_MODULE_ENABLED
217+
#include "stm32wb0x_hal_i2s.h"
218+
#endif /* HAL_I2S_MODULE_ENABLED */
219+
220+
#ifdef HAL_IRDA_MODULE_ENABLED
221+
#include "stm32wb0x_hal_irda.h"
222+
#endif /* HAL_IRDA_MODULE_ENABLED */
223+
224+
#ifdef HAL_IWDG_MODULE_ENABLED
225+
#include "stm32wb0x_hal_iwdg.h"
226+
#endif /* HAL_IWDG_MODULE_ENABLED */
227+
228+
#ifdef HAL_PKA_MODULE_ENABLED
229+
#include "stm32wb0x_hal_pka.h"
230+
#endif /* HAL_PKA_MODULE_ENABLED */
231+
232+
#ifdef HAL_PWR_MODULE_ENABLED
233+
#include "stm32wb0x_hal_pwr.h"
234+
#endif /* HAL_PWR_MODULE_ENABLED */
235+
236+
#ifdef HAL_RADIO_MODULE_ENABLED
237+
#include "stm32wb0x_hal_radio.h"
238+
#endif /* HAL_RADIO_MODULE_ENABLED */
239+
240+
#ifdef HAL_RADIO_TIMER_MODULE_ENABLED
241+
#include "stm32wb0x_hal_radio_timer.h"
242+
#endif /* HAL_RADIO_TIMER_MODULE_ENABLED */
243+
244+
#ifdef HAL_RCC_MODULE_ENABLED
245+
#include "stm32wb0x_hal_rcc.h"
246+
#endif /* HAL_RCC_MODULE_ENABLED */
247+
248+
#ifdef HAL_RNG_MODULE_ENABLED
249+
#include "stm32wb0x_hal_rng.h"
250+
#endif /* HAL_RNG_MODULE_ENABLED */
251+
252+
#ifdef HAL_RTC_MODULE_ENABLED
253+
#include "stm32wb0x_hal_rtc.h"
254+
#endif /* HAL_RTC_MODULE_ENABLED */
255+
256+
#ifdef HAL_SMARTCARD_MODULE_ENABLED
257+
#include "stm32wb0x_hal_smartcard.h"
258+
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
259+
260+
#ifdef HAL_SMBUS_MODULE_ENABLED
261+
#include "stm32wb0x_hal_smbus.h"
262+
#endif /* HAL_SMBUS_MODULE_ENABLED */
263+
264+
#ifdef HAL_SPI_MODULE_ENABLED
265+
#include "stm32wb0x_hal_spi.h"
266+
#endif /* HAL_SPI_MODULE_ENABLED */
267+
268+
#ifdef HAL_TIM_MODULE_ENABLED
269+
#include "stm32wb0x_hal_tim.h"
270+
#endif /* HAL_TIM_MODULE_ENABLED */
271+
272+
#ifdef HAL_UART_MODULE_ENABLED
273+
#include "stm32wb0x_hal_uart.h"
274+
#endif /* HAL_UART_MODULE_ENABLED */
275+
276+
#ifdef HAL_USART_MODULE_ENABLED
277+
#include "stm32wb0x_hal_usart.h"
278+
#endif /* HAL_USART_MODULE_ENABLED */
279+
280+
/* Exported macro ------------------------------------------------------------*/
281+
#ifdef USE_FULL_ASSERT
282+
/**
283+
* @brief The assert_param macro is used for function's parameters check.
284+
* @param expr If expr is false, it calls assert_failed function
285+
* which reports the name of the source file and the source
286+
* line number of the call that failed.
287+
* If expr is true, it returns no value.
288+
* @retval None
289+
*/
290+
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
291+
/* Exported functions ------------------------------------------------------- */
292+
void assert_failed(uint8_t *file, uint32_t line);
293+
#else
294+
#define assert_param(expr) ((void)0U)
295+
#endif /* USE_FULL_ASSERT */
296+
297+
#ifdef __cplusplus
298+
}
299+
#endif
300+
301+
#endif /* STM32WB0x_HAL_CONF_H */

0 commit comments

Comments
 (0)