Go to the documentation of this file.
21 #ifndef STM32H7xx_HAL_HSEM_H
22 #define STM32H7xx_HAL_HSEM_H
49 #define __HAL_HSEM_SEMID_TO_MASK(__SEMID__) (1 << (__SEMID__))
56 #if defined(DUAL_CORE)
57 #define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
58 (HSEM->C1IER |= (__SEM_MASK__)) : \
59 (HSEM->C2IER |= (__SEM_MASK__)))
61 #define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) (HSEM->IER |= (__SEM_MASK__))
68 #if defined(DUAL_CORE)
69 #define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
70 (HSEM->C1IER &= ~(__SEM_MASK__)) : \
71 (HSEM->C2IER &= ~(__SEM_MASK__)))
73 #define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) (HSEM->IER &= ~(__SEM_MASK__))
81 #if defined(DUAL_CORE)
82 #define __HAL_HSEM_GET_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
83 ((__SEM_MASK__) & HSEM->C1MISR) : \
84 ((__SEM_MASK__) & HSEM->C2MISR1))
86 #define __HAL_HSEM_GET_IT(__SEM_MASK__) ((__SEM_MASK__) & HSEM->MISR)
94 #if defined(DUAL_CORE)
95 #define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
96 (__SEM_MASK__) & HSEM->C1ISR : \
97 (__SEM_MASK__) & HSEM->C2ISR)
99 #define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((__SEM_MASK__) & HSEM->ISR)
107 #if defined(DUAL_CORE)
108 #define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
109 (HSEM->C1ICR |= (__SEM_MASK__)) : \
110 (HSEM->C2ICR |= (__SEM_MASK__)))
112 #define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) (HSEM->ICR |= (__SEM_MASK__))
182 #define IS_HSEM_SEMID(__SEMID__) ((__SEMID__) <= HSEM_SEMID_MAX )
184 #define IS_HSEM_PROCESSID(__PROCESSID__) ((__PROCESSID__) <= HSEM_PROCESSID_MAX )
186 #define IS_HSEM_KEY(__KEY__) ((__KEY__) <= HSEM_CLEAR_KEY_MAX )
188 #if defined(DUAL_CORE)
189 #define IS_HSEM_COREID(__COREID__) (((__COREID__) == HSEM_CPU1_COREID) || \
190 ((__COREID__) == HSEM_CPU2_COREID))
192 #define IS_HSEM_COREID(__COREID__) ((__COREID__) == HSEM_CPU1_COREID)
void HAL_HSEM_ActivateNotification(uint32_t SemMask)
HAL_StatusTypeDef
HAL Status structures definition
HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID)
void HAL_HSEM_DeactivateNotification(uint32_t SemMask)
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID)
void HAL_HSEM_FreeCallback(uint32_t SemMask)
void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID)
void HAL_HSEM_SetClearKey(uint32_t Key)
uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID)
HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID)
uint32_t HAL_HSEM_GetClearKey(void)
void HAL_HSEM_IRQHandler(void)