20#ifndef STM32H7xx_HAL_HSEM_H
21#define STM32H7xx_HAL_HSEM_H
48#define __HAL_HSEM_SEMID_TO_MASK(__SEMID__) (1 << (__SEMID__))
56#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
57 (HSEM->C1IER |= (__SEM_MASK__)) : \
58 (HSEM->C2IER |= (__SEM_MASK__)))
60#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) (HSEM->C1IER |= (__SEM_MASK__))
68#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
69 (HSEM->C1IER &= ~(__SEM_MASK__)) : \
70 (HSEM->C2IER &= ~(__SEM_MASK__)))
72#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) (HSEM->C1IER &= ~(__SEM_MASK__))
81#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
82 ((__SEM_MASK__) & HSEM->C1MISR) : \
83 ((__SEM_MASK__) & HSEM->C2MISR))
85#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((__SEM_MASK__) & HSEM->C1MISR)
94#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
95 (__SEM_MASK__) & HSEM->C1ISR : \
96 (__SEM_MASK__) & HSEM->C2ISR)
98#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((__SEM_MASK__) & HSEM->C1ISR)
106#if defined(DUAL_CORE)
107#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
108 (HSEM->C1ICR |= (__SEM_MASK__)) : \
109 (HSEM->C2ICR |= (__SEM_MASK__)))
111#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) (HSEM->C1ICR |= (__SEM_MASK__))
181#define IS_HSEM_SEMID(__SEMID__) ((__SEMID__) <= HSEM_SEMID_MAX )
183#define IS_HSEM_PROCESSID(__PROCESSID__) ((__PROCESSID__) <= HSEM_PROCESSID_MAX )
185#define IS_HSEM_KEY(__KEY__) ((__KEY__) <= HSEM_CLEAR_KEY_MAX )
187#if defined(DUAL_CORE)
188#define IS_HSEM_COREID(__COREID__) (((__COREID__) == HSEM_CPU1_COREID) || \
189 ((__COREID__) == HSEM_CPU2_COREID))
191#define IS_HSEM_COREID(__COREID__) ((__COREID__) == HSEM_CPU1_COREID)
HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID)
void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID)
void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID)
uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID)
HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID)
uint32_t HAL_HSEM_GetClearKey(void)
void HAL_HSEM_SetClearKey(uint32_t Key)
void HAL_HSEM_ActivateNotification(uint32_t SemMask)
void HAL_HSEM_FreeCallback(uint32_t SemMask)
void HAL_HSEM_DeactivateNotification(uint32_t SemMask)
void HAL_HSEM_IRQHandler(void)
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.