what's the __COMPILER_BARRIER?
hi, everyone!
May you have a nice day!
In en.stm32cubeg4_v1-5-0\STM32Cube_FW_G4_V1.5.0\Projects, core_cm4.h file.
I encounter the following codes:
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
{
if ((int32_t)(IRQn) >= 0)
{
__COMPILER_BARRIER();
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
__COMPILER_BARRIER();
}
}
So the questions are:
- what's the meaning of __COMPILER_BARRIER();?
- why it's called here, is ISERx registers related to it?
- could anyone share some literature on this?
thank you for your attention!
Best wishes!
