20#ifndef STM32H7xx_LL_HSEM_H
21#define STM32H7xx_LL_HSEM_H
55#define LL_HSEM_COREID_NONE 0U
56#define LL_HSEM_COREID_CPU1 HSEM_CR_COREID_CPU1
58#define LL_HSEM_COREID_CPU2 HSEM_CR_COREID_CPU2
60#define LL_HSEM_COREID HSEM_CR_COREID_CURRENT
71#define LL_HSEM_SEMAPHORE_0 HSEM_C1IER_ISE0
72#define LL_HSEM_SEMAPHORE_1 HSEM_C1IER_ISE1
73#define LL_HSEM_SEMAPHORE_2 HSEM_C1IER_ISE2
74#define LL_HSEM_SEMAPHORE_3 HSEM_C1IER_ISE3
75#define LL_HSEM_SEMAPHORE_4 HSEM_C1IER_ISE4
76#define LL_HSEM_SEMAPHORE_5 HSEM_C1IER_ISE5
77#define LL_HSEM_SEMAPHORE_6 HSEM_C1IER_ISE6
78#define LL_HSEM_SEMAPHORE_7 HSEM_C1IER_ISE7
79#define LL_HSEM_SEMAPHORE_8 HSEM_C1IER_ISE8
80#define LL_HSEM_SEMAPHORE_9 HSEM_C1IER_ISE9
81#define LL_HSEM_SEMAPHORE_10 HSEM_C1IER_ISE10
82#define LL_HSEM_SEMAPHORE_11 HSEM_C1IER_ISE11
83#define LL_HSEM_SEMAPHORE_12 HSEM_C1IER_ISE12
84#define LL_HSEM_SEMAPHORE_13 HSEM_C1IER_ISE13
85#define LL_HSEM_SEMAPHORE_14 HSEM_C1IER_ISE14
86#define LL_HSEM_SEMAPHORE_15 HSEM_C1IER_ISE15
87#if (HSEM_SEMID_MAX == 15)
88#define LL_HSEM_SEMAPHORE_ALL 0x0000FFFFU
90#define LL_HSEM_SEMAPHORE_16 HSEM_C1IER_ISE16
91#define LL_HSEM_SEMAPHORE_17 HSEM_C1IER_ISE17
92#define LL_HSEM_SEMAPHORE_18 HSEM_C1IER_ISE18
93#define LL_HSEM_SEMAPHORE_19 HSEM_C1IER_ISE19
94#define LL_HSEM_SEMAPHORE_20 HSEM_C1IER_ISE20
95#define LL_HSEM_SEMAPHORE_21 HSEM_C1IER_ISE21
96#define LL_HSEM_SEMAPHORE_22 HSEM_C1IER_ISE22
97#define LL_HSEM_SEMAPHORE_23 HSEM_C1IER_ISE23
98#define LL_HSEM_SEMAPHORE_24 HSEM_C1IER_ISE24
99#define LL_HSEM_SEMAPHORE_25 HSEM_C1IER_ISE25
100#define LL_HSEM_SEMAPHORE_26 HSEM_C1IER_ISE26
101#define LL_HSEM_SEMAPHORE_27 HSEM_C1IER_ISE27
102#define LL_HSEM_SEMAPHORE_28 HSEM_C1IER_ISE28
103#define LL_HSEM_SEMAPHORE_29 HSEM_C1IER_ISE29
104#define LL_HSEM_SEMAPHORE_30 HSEM_C1IER_ISE30
105#define LL_HSEM_SEMAPHORE_31 HSEM_C1IER_ISE31
106#define LL_HSEM_SEMAPHORE_ALL 0xFFFFFFFFU
132#define LL_HSEM_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
140#define LL_HSEM_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
227 return ((HSEMx->
R[Semaphore] != (
HSEM_R_LOCK | LL_HSEM_COREID | process)) ? 1UL : 0UL);
241 return ((HSEMx->
RLR[Semaphore] != (
HSEM_RLR_LOCK | LL_HSEM_COREID)) ? 1UL : 0UL);
255 WRITE_REG(HSEMx->
R[Semaphore], (LL_HSEM_COREID | process));
266 return ((HSEMx->
R[Semaphore] != 0U) ? 1UL : 0UL);
455 return ((
READ_BIT(HSEMx->
C1IER, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
458#if defined(DUAL_CORE)
501 SET_BIT(HSEMx->C2IER, SemaphoreMask);
591 return ((
READ_BIT(HSEMx->C2IER, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
694 return ((
READ_BIT(HSEMx->
C1ISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
741 return ((
READ_BIT(HSEMx->
C1MISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
744#if defined(DUAL_CORE)
832 return ((
READ_BIT(HSEMx->C2ISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
877 return ((
READ_BIT(HSEMx->C2MISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define WRITE_REG(REG, VAL)
#define READ_BIT(REG, BIT)
#define HSEM_R_PROCID_Msk
0x000000FF
#define HSEM_RLR_LOCK
Lock indication.
#define HSEM_R_COREID_Msk
0x0000FF00
#define HSEM_KEYR_KEY_Pos
#define HSEM_KEYR_KEY
semaphores clear key.
#define HSEM_R_LOCK
Lock indication.
#define HSEM_R_LOCK_Msk
0x80000000
CMSIS STM32H7xx Device Peripheral Access Layer Header File.
__IO uint32_t KEYR
HSEM Semaphore clear key register , Address offset: 144h.
__IO uint32_t C1ISR
HSEM Interrupt Status register , Address offset: 108h.
__IO uint32_t C1IER
HSEM Interrupt enable register , Address offset: 100h.
__IO uint32_t C1MISR
HSEM Interrupt Masked Status register , Address offset: 10Ch.
__IO uint32_t CR
HSEM Semaphore clear register , Address offset: 140h.
__IO uint32_t R[32]
2-step write lock and read back registers, Address offset: 00h-7Ch
__IO uint32_t C1ICR
HSEM Interrupt clear register , Address offset: 104h.
__IO uint32_t RLR[32]
1-step read lock registers, Address offset: 80h-FCh