STM32 Bootloader
Customizable Bootloader for STM32 microcontrollers
stm32l4xx_hal_conf.h
Go to the documentation of this file.
1 
16 #ifndef STM32L4XX_HAL_CONF_H
17 #define STM32L4XX_HAL_CONF_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
32 /* Module selection ----------------------------------------------------------*/
33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 #define HAL_MODULE_ENABLED
35 // #define HAL_ADC_MODULE_ENABLED
36 // #define HAL_CAN_MODULE_ENABLED
37 // #define HAL_COMP_MODULE_ENABLED
38 #define HAL_CORTEX_MODULE_ENABLED
39 #define HAL_CRC_MODULE_ENABLED
40 // #define HAL_CRYP_MODULE_ENABLED
41 // #define HAL_DAC_MODULE_ENABLED
42 // #define HAL_DCMI_MODULE_ENABLED
43 // #define HAL_DFSDM_MODULE_ENABLED
44 #define HAL_DMA_MODULE_ENABLED
45 // #define HAL_DMA2D_MODULE_ENABLED
46 // #define HAL_DSI_MODULE_ENABLED
47 // #define HAL_FIREWALL_MODULE_ENABLED
48 #define HAL_FLASH_MODULE_ENABLED
49 // #define HAL_GFXMMU_MODULE_ENABLED
50 #define HAL_GPIO_MODULE_ENABLED
51 // #define HAL_HASH_MODULE_ENABLED
52 // #define HAL_HCD_MODULE_ENABLED
53 // #define HAL_I2C_MODULE_ENABLED
54 // #define HAL_I2S_MODULE_ENABLED
55 // #define HAL_IRDA_MODULE_ENABLED
56 // #define HAL_IWDG_MODULE_ENABLED
57 // #define HAL_LCD_MODULE_ENABLED
58 // #define HAL_LPTIM_MODULE_ENABLED
59 // #define HAL_LTDC_MODULE_ENABLED
60 // #define HAL_NAND_MODULE_ENABLED
61 // #define HAL_NOR_MODULE_ENABLED
62 // #define HAL_OPAMP_MODULE_ENABLED
63 // #define HAL_OSPI_MODULE_ENABLED
64 // #define HAL_PCD_MODULE_ENABLED
65 #define HAL_PWR_MODULE_ENABLED
66 // #define HAL_QSPI_MODULE_ENABLED
67 #define HAL_RCC_MODULE_ENABLED
68 // #define HAL_RNG_MODULE_ENABLED
69 // #define HAL_RTC_MODULE_ENABLED
70 // #define HAL_SAI_MODULE_ENABLED
71 #define HAL_SD_MODULE_ENABLED
72 // #define HAL_SMARTCARD_MODULE_ENABLED
73 // #define HAL_SMBUS_MODULE_ENABLED
74 // #define HAL_SPI_MODULE_ENABLED
75 // #define HAL_SRAM_MODULE_ENABLED
76 // #define HAL_SWPMI_MODULE_ENABLED
77 // #define HAL_TIM_MODULE_ENABLED
78 // #define HAL_TSC_MODULE_ENABLED
79 #define HAL_UART_MODULE_ENABLED
80 // #define HAL_USART_MODULE_ENABLED
81 // #define HAL_WWDG_MODULE_ENABLED
82 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
83 
84 /* Oscillator values adaptation ----------------------------------------------*/
93 #if !defined(HSE_VALUE)
94 #define HSE_VALUE ((uint32_t)8000000U)
95 #endif /* HSE_VALUE */
96 
100 #if !defined(HSE_STARTUP_TIMEOUT)
101 #define HSE_STARTUP_TIMEOUT ((uint32_t)100U)
102 #endif /* HSE_STARTUP_TIMEOUT */
103 
109 #if !defined(MSI_VALUE)
110 #define MSI_VALUE ((uint32_t)4000000U)
111 #endif /* MSI_VALUE */
112 
119 #if !defined(HSI_VALUE)
120 #define HSI_VALUE ((uint32_t)16000000U)
121 #endif /* HSI_VALUE */
122 
132 #if !defined(HSI48_VALUE)
133 #define HSI48_VALUE ((uint32_t)48000000U)
134 #endif /* HSI48_VALUE */
135 
142 #if !defined(LSI_VALUE)
143 #define LSI_VALUE ((uint32_t)32000U)
144 #endif /* LSI_VALUE */
145 
152 #if !defined(LSE_VALUE)
153 #define LSE_VALUE ((uint32_t)32768U)
154 #endif /* LSE_VALUE */
155 
159 #if !defined(LSE_STARTUP_TIMEOUT)
160 #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U)
161 #endif /* HSE_STARTUP_TIMEOUT */
162 
169 #if !defined(EXTERNAL_SAI1_CLOCK_VALUE)
170 #define EXTERNAL_SAI1_CLOCK_VALUE ((uint32_t)2097000U)
171 #endif /* EXTERNAL_SAI1_CLOCK_VALUE */
172 
179 #if !defined(EXTERNAL_SAI2_CLOCK_VALUE)
180 #define EXTERNAL_SAI2_CLOCK_VALUE ((uint32_t)2097000U)
181 #endif /* EXTERNAL_SAI2_CLOCK_VALUE */
182 
183 /* Tip: To avoid modifying this file each time you need to use different HSE,
184  === you can define the HSE value in your toolchain compiler preprocessor. */
185 
186 /* System configuration ------------------------------------------------------*/
187 #define VDD_VALUE 3300U
188 #define TICK_INT_PRIORITY 0U
189 #define USE_RTOS 0U
190 #define PREFETCH_ENABLE 0U
191 #define INSTRUCTION_CACHE_ENABLE 1U
192 #define DATA_CACHE_ENABLE 1U
194 /* Assert selection ----------------------------------------------------------*/
195 // Uncomment the line below to expand the "assert_param" macro in the HAL driver
196 // Note: This define is specified in the CMakeLists.txt file depending on the
197 // build configuration.
198 /* #define USE_FULL_ASSERT 1U */
199 
200 /* Callback feature configuration --------------------------------------------*/
201 // Set below the peripheral configuration to "1U" to add the support
202 // of HAL callback registration/deregistration feature for the HAL
203 // driver(s). This allows user application to provide specific callback
204 // functions thanks to HAL_PPP_RegisterCallback() rather than overwriting
205 // the default weak callback functions (see each stm32l4xx_hal_ppp.h file
206 // for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef
207 // for each PPP peripheral).
208 #ifndef DOXYGEN_SHOULD_SKIP_THIS
209 #define USE_HAL_ADC_REGISTER_CALLBACKS 0U
210 #define USE_HAL_CAN_REGISTER_CALLBACKS 0U
211 #define USE_HAL_COMP_REGISTER_CALLBACKS 0U
212 #define USE_HAL_CRYP_REGISTER_CALLBACKS 0U
213 #define USE_HAL_DAC_REGISTER_CALLBACKS 0U
214 #define USE_HAL_DCMI_REGISTER_CALLBACKS 0U
215 #define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U
216 #define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U
217 #define USE_HAL_DSI_REGISTER_CALLBACKS 0U
218 #define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U
219 #define USE_HAL_HASH_REGISTER_CALLBACKS 0U
220 #define USE_HAL_HCD_REGISTER_CALLBACKS 0U
221 #define USE_HAL_I2C_REGISTER_CALLBACKS 0U
222 #define USE_HAL_IRDA_REGISTER_CALLBACKS 0U
223 #define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U
224 #define USE_HAL_LTDC_REGISTER_CALLBACKS 0U
225 #define USE_HAL_MMC_REGISTER_CALLBACKS 0U
226 #define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U
227 #define USE_HAL_OSPI_REGISTER_CALLBACKS 0U
228 #define USE_HAL_PCD_REGISTER_CALLBACKS 0U
229 #define USE_HAL_QSPI_REGISTER_CALLBACKS 0U
230 #define USE_HAL_RNG_REGISTER_CALLBACKS 0U
231 #define USE_HAL_RTC_REGISTER_CALLBACKS 0U
232 #define USE_HAL_SAI_REGISTER_CALLBACKS 0U
233 #define USE_HAL_SD_REGISTER_CALLBACKS 0U
234 #define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U
235 #define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U
236 #define USE_HAL_SPI_REGISTER_CALLBACKS 0U
237 #define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U
238 #define USE_HAL_TIM_REGISTER_CALLBACKS 0U
239 #define USE_HAL_TSC_REGISTER_CALLBACKS 0U
240 #define USE_HAL_UART_REGISTER_CALLBACKS 0U
241 #define USE_HAL_USART_REGISTER_CALLBACKS 0U
242 #define USE_HAL_WWDG_REGISTER_CALLBACKS 0U
243 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
244 
245 /* SPI peripheral configuration ----------------------------------------------*/
246 #define USE_SPI_CRC 0U
248 /* Includes ------------------------------------------------------------------*/
249 
250 #ifdef HAL_RCC_MODULE_ENABLED
251 #include "stm32l4xx_hal_rcc.h"
252 #include "stm32l4xx_hal_rcc_ex.h"
253 #endif /* HAL_RCC_MODULE_ENABLED */
254 
255 #ifdef HAL_GPIO_MODULE_ENABLED
256 #include "stm32l4xx_hal_gpio.h"
257 #endif /* HAL_GPIO_MODULE_ENABLED */
258 
259 #ifdef HAL_DMA_MODULE_ENABLED
260 #include "stm32l4xx_hal_dma.h"
261 #include "stm32l4xx_hal_dma_ex.h"
262 #endif /* HAL_DMA_MODULE_ENABLED */
263 
264 #ifdef HAL_DFSDM_MODULE_ENABLED
265 #include "stm32l4xx_hal_dfsdm.h"
266 #endif /* HAL_DFSDM_MODULE_ENABLED */
267 
268 #ifdef HAL_CORTEX_MODULE_ENABLED
269 #include "stm32l4xx_hal_cortex.h"
270 #endif /* HAL_CORTEX_MODULE_ENABLED */
271 
272 #ifdef HAL_ADC_MODULE_ENABLED
273 #include "stm32l4xx_hal_adc.h"
274 #endif /* HAL_ADC_MODULE_ENABLED */
275 
276 #ifdef HAL_CAN_MODULE_ENABLED
277 #include "stm32l4xx_hal_can.h"
278 #endif /* HAL_CAN_MODULE_ENABLED */
279 
280 #ifdef HAL_COMP_MODULE_ENABLED
281 #include "stm32l4xx_hal_comp.h"
282 #endif /* HAL_COMP_MODULE_ENABLED */
283 
284 #ifdef HAL_CRC_MODULE_ENABLED
285 #include "stm32l4xx_hal_crc.h"
286 #endif /* HAL_CRC_MODULE_ENABLED */
287 
288 #ifdef HAL_CRYP_MODULE_ENABLED
289 #include "stm32l4xx_hal_cryp.h"
290 #endif /* HAL_CRYP_MODULE_ENABLED */
291 
292 #ifdef HAL_DAC_MODULE_ENABLED
293 #include "stm32l4xx_hal_dac.h"
294 #endif /* HAL_DAC_MODULE_ENABLED */
295 
296 #ifdef HAL_DCMI_MODULE_ENABLED
297 #include "stm32l4xx_hal_dcmi.h"
298 #endif /* HAL_DCMI_MODULE_ENABLED */
299 
300 #ifdef HAL_DMA2D_MODULE_ENABLED
301 #include "stm32l4xx_hal_dma2d.h"
302 #endif /* HAL_DMA2D_MODULE_ENABLED */
303 
304 #ifdef HAL_DSI_MODULE_ENABLED
305 #include "stm32l4xx_hal_dsi.h"
306 #endif /* HAL_DSI_MODULE_ENABLED */
307 
308 #ifdef HAL_FIREWALL_MODULE_ENABLED
309 #include "stm32l4xx_hal_firewall.h"
310 #endif /* HAL_FIREWALL_MODULE_ENABLED */
311 
312 #ifdef HAL_FLASH_MODULE_ENABLED
313 #include "stm32l4xx_hal_flash.h"
314 #endif /* HAL_FLASH_MODULE_ENABLED */
315 
316 #ifdef HAL_HASH_MODULE_ENABLED
317 #include "stm32l4xx_hal_hash.h"
318 #endif /* HAL_HASH_MODULE_ENABLED */
319 
320 #ifdef HAL_SRAM_MODULE_ENABLED
321 #include "stm32l4xx_hal_sram.h"
322 #endif /* HAL_SRAM_MODULE_ENABLED */
323 
324 #ifdef HAL_NOR_MODULE_ENABLED
325 #include "stm32l4xx_hal_nor.h"
326 #endif /* HAL_NOR_MODULE_ENABLED */
327 
328 #ifdef HAL_NAND_MODULE_ENABLED
329 #include "stm32l4xx_hal_nand.h"
330 #endif /* HAL_NAND_MODULE_ENABLED */
331 
332 #ifdef HAL_I2C_MODULE_ENABLED
333 #include "stm32l4xx_hal_i2c.h"
334 #endif /* HAL_I2C_MODULE_ENABLED */
335 
336 #ifdef HAL_IWDG_MODULE_ENABLED
337 #include "stm32l4xx_hal_iwdg.h"
338 #endif /* HAL_IWDG_MODULE_ENABLED */
339 
340 #ifdef HAL_LCD_MODULE_ENABLED
341 #include "stm32l4xx_hal_lcd.h"
342 #endif /* HAL_LCD_MODULE_ENABLED */
343 
344 #ifdef HAL_LPTIM_MODULE_ENABLED
345 #include "stm32l4xx_hal_lptim.h"
346 #endif /* HAL_LPTIM_MODULE_ENABLED */
347 
348 #ifdef HAL_LTDC_MODULE_ENABLED
349 #include "stm32l4xx_hal_ltdc.h"
350 #endif /* HAL_LTDC_MODULE_ENABLED */
351 
352 #ifdef HAL_OPAMP_MODULE_ENABLED
353 #include "stm32l4xx_hal_opamp.h"
354 #endif /* HAL_OPAMP_MODULE_ENABLED */
355 
356 #ifdef HAL_OSPI_MODULE_ENABLED
357 #include "stm32l4xx_hal_ospi.h"
358 #endif /* HAL_OSPI_MODULE_ENABLED */
359 
360 #ifdef HAL_PWR_MODULE_ENABLED
361 #include "stm32l4xx_hal_pwr.h"
362 #endif /* HAL_PWR_MODULE_ENABLED */
363 
364 #ifdef HAL_QSPI_MODULE_ENABLED
365 #include "stm32l4xx_hal_qspi.h"
366 #endif /* HAL_QSPI_MODULE_ENABLED */
367 
368 #ifdef HAL_RNG_MODULE_ENABLED
369 #include "stm32l4xx_hal_rng.h"
370 #endif /* HAL_RNG_MODULE_ENABLED */
371 
372 #ifdef HAL_RTC_MODULE_ENABLED
373 #include "stm32l4xx_hal_rtc.h"
374 #endif /* HAL_RTC_MODULE_ENABLED */
375 
376 #ifdef HAL_SAI_MODULE_ENABLED
377 #include "stm32l4xx_hal_sai.h"
378 #endif /* HAL_SAI_MODULE_ENABLED */
379 
380 #ifdef HAL_SD_MODULE_ENABLED
381 #include "stm32l4xx_hal_sd.h"
382 #endif /* HAL_SD_MODULE_ENABLED */
383 
384 #ifdef HAL_SMBUS_MODULE_ENABLED
385 #include "stm32l4xx_hal_smbus.h"
386 #endif /* HAL_SMBUS_MODULE_ENABLED */
387 
388 #ifdef HAL_SPI_MODULE_ENABLED
389 #include "stm32l4xx_hal_spi.h"
390 #endif /* HAL_SPI_MODULE_ENABLED */
391 
392 #ifdef HAL_SWPMI_MODULE_ENABLED
393 #include "stm32l4xx_hal_swpmi.h"
394 #endif /* HAL_SWPMI_MODULE_ENABLED */
395 
396 #ifdef HAL_TIM_MODULE_ENABLED
397 #include "stm32l4xx_hal_tim.h"
398 #endif /* HAL_TIM_MODULE_ENABLED */
399 
400 #ifdef HAL_TSC_MODULE_ENABLED
401 #include "stm32l4xx_hal_tsc.h"
402 #endif /* HAL_TSC_MODULE_ENABLED */
403 
404 #ifdef HAL_UART_MODULE_ENABLED
405 #include "stm32l4xx_hal_uart.h"
406 #endif /* HAL_UART_MODULE_ENABLED */
407 
408 #ifdef HAL_USART_MODULE_ENABLED
409 #include "stm32l4xx_hal_usart.h"
410 #endif /* HAL_USART_MODULE_ENABLED */
411 
412 #ifdef HAL_IRDA_MODULE_ENABLED
413 #include "stm32l4xx_hal_irda.h"
414 #endif /* HAL_IRDA_MODULE_ENABLED */
415 
416 #ifdef HAL_SMARTCARD_MODULE_ENABLED
417 #include "stm32l4xx_hal_smartcard.h"
418 #endif /* HAL_SMARTCARD_MODULE_ENABLED */
419 
420 #ifdef HAL_WWDG_MODULE_ENABLED
421 #include "stm32l4xx_hal_wwdg.h"
422 #endif /* HAL_WWDG_MODULE_ENABLED */
423 
424 #ifdef HAL_PCD_MODULE_ENABLED
425 #include "stm32l4xx_hal_pcd.h"
426 #endif /* HAL_PCD_MODULE_ENABLED */
427 
428 #ifdef HAL_HCD_MODULE_ENABLED
429 #include "stm32l4xx_hal_hcd.h"
430 #endif /* HAL_HCD_MODULE_ENABLED */
431 
432 #ifdef HAL_GFXMMU_MODULE_ENABLED
433 #include "stm32l4xx_hal_gfxmmu.h"
434 #endif /* HAL_GFXMMU_MODULE_ENABLED */
435 
436 /* Exported macro ------------------------------------------------------------*/
444 #ifdef USE_FULL_ASSERT
445 // Message: A conversion shall not remove any const, volatile or _Atomic
446 // qualification from the type pointed to by a pointer
447 // [misra-c2012-11.8]
448 // Reason: The assert_param macro is only used in debug builds. The
449 // expression is only tested and never modified.
450 // Risk: Removing a const qualifier might circumvent the read-only
451 // status of an object and result in it being modified.
452 // Removing a const qualifier might result in an exception when
453 // the object is accessed.
454 // Prevention: None.
455 // cppcheck-suppress-macro [misra-c2012-11.8]
456 #define assert_param(expr) \
457  ((expr) ? (void)0U : assert_failed((uint8_t*)__FILE__, __LINE__))
458 /* Exported functions ------------------------------------------------------- */
459 void assert_failed(uint8_t* file, uint32_t line);
460 #else
461 #define assert_param(expr) ((void)0U)
462 #endif /* USE_FULL_ASSERT */
463 
470 #ifdef __cplusplus
471 }
472 #endif
473 
474 #endif