32#ifndef STM32H7xx_LL_UTILS_H
33#define STM32H7xx_LL_UTILS_H
61#define LL_MAX_DELAY 0xFFFFFFFFU
66#define UID_BASE_ADDRESS UID_BASE
71#define FLASHSIZE_BASE_ADDRESS FLASHSIZE_BASE
76#define PACKAGE_BASE_ADDRESS PACKAGE_BASE
192#define LL_UTILS_HSEBYPASS_OFF 0x00000000U
193#define LL_UTILS_HSEBYPASS_ON 0x00000001U
201#if (STM32H7_DEV_ID == 0x450UL)
202#if defined(STM32H742xx) || defined(STM32H743xx) || defined(STM32H750xx) || defined(STM32H753xx)
203#define LL_UTILS_PACKAGETYPE_LQFP100 LL_SYSCFG_LQFP100_PACKAGE
204#define LL_UTILS_PACKAGETYPE_TQFP144 LL_SYSCFG_TQFP144_PACKAGE
205#define LL_UTILS_PACKAGETYPE_TQFP176_UFBGA176 LL_SYSCFG_TQFP176_UFBGA176_PACKAGE
206#define LL_UTILS_PACKAGETYPE_LQFP208_TFBGA240 LL_SYSCFG_LQFP208_TFBGA240_PACKAGE
208#define LL_UTILS_PACKAGETYPE_UFBGA169_LQFP176 LL_SYSCFG_UFBGA169_LQFP176_PACKAGE
209#define LL_UTILS_PACKAGETYPE_LQFP144 LL_SYSCFG_LQFP144_PACKAGE
210#define LL_UTILS_PACKAGETYPE_LQFP176 LL_SYSCFG_LQFP176_PACKAGE
211#define LL_UTILS_PACKAGETYPE_UFBGA176 LL_SYSCFG_UFBGA176_PACKAGE
212#define LL_UTILS_PACKAGETYPE_LQFP208_STM32H7x7 LL_SYSCFG_LQFP208_STM32H7x7_PACKAGE
213#define LL_UTILS_PACKAGETYPE_LQFP208_STM32H7x5 LL_SYSCFG_LQFP208_STM32H7x5_PACKAGE
215#elif (STM32H7_DEV_ID == 0x480UL)
216#define LL_UTILS_PACKAGETYPE_LQFP64 0x00000000UL
217#define LL_UTILS_PACKAGETYPE_TFBGA100_LQFP100 0x00000001UL
218#define LL_UTILS_PACKAGETYPE_LQFP100_SMPS 0x00000002UL
219#define LL_UTILS_PACKAGETYPE_TFBGA100_SMPS 0x00000003UL
220#define LL_UTILS_PACKAGETYPE_WLCSP132_SMPS 0x00000004UL
221#define LL_UTILS_PACKAGETYPE_LQFP144 0x00000005UL
222#define LL_UTILS_PACKAGETYPE_LQFP144_SMPS 0x00000006UL
223#define LL_UTILS_PACKAGETYPE_UFBGA169 0x00000007UL
224#define LL_UTILS_PACKAGETYPE_UFBGA176_LQFP176 0x00000008UL
225#define LL_UTILS_PACKAGETYPE_LQFP176_SMPS 0x00000009UL
226#define LL_UTILS_PACKAGETYPE_UFBGA176_SMPS 0x0000000AUL
227#define LL_UTILS_PACKAGETYPE_TFBGA216 0x0000000CUL
228#define LL_UTILS_PACKAGETYPE_TFBGA225 0x0000000EUL
229#elif (STM32H7_DEV_ID == 0x483UL)
230#define LL_UTILS_PACKAGETYPE_VFQFPN68_INDUS LL_SYSCFG_VFQFPN68_INDUS_PACKAGE
231#define LL_UTILS_PACKAGETYPE_TFBGA100_LQFP100 LL_SYSCFG_TFBGA100_LQFP100_PACKAGE
232#define LL_UTILS_PACKAGETYPE_LQFP100_INDUS LL_SYSCFG_LQFP100_INDUS_PACKAGE
233#define LL_UTILS_PACKAGETYPE_TFBGA100_INDUS LL_SYSCFG_TFBGA100_INDUS_PACKAGE
234#define LL_UTILS_PACKAGETYPE_WLCSP115_INDUS LL_SYSCFG_WLCSP115_INDUS_PACKAGE
235#define LL_UTILS_PACKAGETYPE_LQFP144 LL_SYSCFG_LQFP144_PACKAGE
236#define LL_UTILS_PACKAGETYPE_UFBGA144 LL_SYSCFG_UFBGA144_PACKAGE
237#define LL_UTILS_PACKAGETYPE_LQFP144_INDUS LL_SYSCFG_LQFP144_INDUS_PACKAGE
238#define LL_UTILS_PACKAGETYPE_UFBGA169_INDUS LL_SYSCFG_UFBGA169_INDUS_PACKAGE
239#define LL_UTILS_PACKAGETYPE_UFBGA176PLUS25_INDUS LL_SYSCFG_UFBGA176PLUS25_INDUS_PACKAGE
240#define LL_UTILS_PACKAGETYPE_LQFP176_INDUS LL_SYSCFG_LQFP176_INDUS_PACKAGE
340#if defined(SYSCFG_PKGR_PKG)
342 return LL_SYSCFG_GetPackage();
368 SysTick->LOAD = (uint32_t)((HCLKFrequency / Ticks) - 1UL);
#define SysTick_CTRL_ENABLE_Msk
SysTick CTRL: ENABLE Mask.
#define SysTick_CTRL_CLKSOURCE_Msk
SysTick CTRL: CLKSOURCE Mask.
#define SysTick
SysTick configuration struct.
__STATIC_INLINE uint32_t LL_GetFlashSize(void)
Get Flash memory size.
__STATIC_INLINE uint32_t LL_GetUID_Word0(void)
Get Word0 of the unique device identifier (UID based on 96 bits).
__STATIC_INLINE uint32_t LL_GetUID_Word1(void)
Get Word1 of the unique device identifier (UID based on 96 bits).
__STATIC_INLINE uint32_t LL_GetUID_Word2(void)
Get Word2 of the unique device identifier (UID based on 96 bits).
__STATIC_INLINE uint32_t LL_GetPackageType(void)
Get Package type.
void LL_SetSystemCoreClock(uint32_t CPU_Frequency)
ErrorStatus LL_SetFlashLatency(uint32_t HCLK_Frequency)
ErrorStatus LL_PLL_ConfigSystemClock_HSI(LL_UTILS_PLLInitTypeDef *UTILS_PLLInitStruct, LL_UTILS_ClkInitTypeDef *UTILS_ClkInitStruct)
ErrorStatus LL_PLL_ConfigSystemClock_HSE(uint32_t HSEFrequency, uint32_t HSEBypass, LL_UTILS_PLLInitTypeDef *UTILS_PLLInitStruct, LL_UTILS_ClkInitTypeDef *UTILS_ClkInitStruct)
__STATIC_INLINE void LL_InitTick(uint32_t HCLKFrequency, uint32_t Ticks)
This function configures the Cortex-M SysTick source of the time base.
void LL_mDelay(uint32_t Delay)
void LL_Init1msTick(uint32_t CPU_Frequency)
#define UID_BASE_ADDRESS
Unique device ID register base address.
#define FLASHSIZE_BASE_ADDRESS
Flash size data register base address.
#define PACKAGE_BASE_ADDRESS
Package data register base address.
CMSIS STM32H7xx Device Peripheral Access Layer Header File.
Header file of BUS LL module.
Header file of SYSTEM LL module.
UTILS System, AHB and APB buses clock configuration structure definition.
uint32_t SYSCLKDivider
The System clock (SYSCLK) divider.
uint32_t APB1CLKDivider
The APB1 clock (PCLK1) divider.
uint32_t APB2CLKDivider
The APB2 clock (PCLK2) divider.
uint32_t APB4CLKDivider
The APB4 clock (PCLK4) divider.
uint32_t AHBCLKDivider
The AHB clock (HCLK) divider.
uint32_t APB3CLKDivider
The APB2 clock (PCLK3) divider.
UTILS PLL structure definition.
uint32_t PLLP
Division for the main system clock.
uint32_t PLLM
Division factor for PLL VCO input clock.
uint32_t VCO_Output
PLL clock Output range.
uint32_t FRACN
Fractional part of the multiplication factor for PLL VCO.
uint32_t VCO_Input
PLL clock Input range.
uint32_t PLLN
Multiplication factor for PLL VCO output clock.