41 #ifndef ti_sysbios_hal_Hwi__include 42 #define ti_sysbios_hal_Hwi__include 51 #ifdef __IAR_SYSTEMS_ICC__ 52 #include <intrinsics.h> 59 #if (defined(__ARM_ARCH) && ((__ARM_ARCH == 6) && (__ARM_ARCH_PROFILE == 'M'))) || \ 60 (defined(__CORE__) && (__CORE__ == __ARM6M__)) || \ 61 defined(__ARM_ARCH_6M__) 62 #include <ti/sysbios/family/arm/v6m/Hwi.h> 63 #elif (defined(__ARM_ARCH) && ((__ARM_ARCH == 7) && (__ARM_ARCH_PROFILE == 'M'))) || \ 64 (defined(__CORE__) && (__CORE__ == __ARM7M__)) || \ 65 defined(__ARM_ARCH_7M__) 67 #elif (defined(__ARM_ARCH) && ((__ARM_ARCH == 8) && (__ARM_ARCH_PROFILE == 'M'))) || \ 68 (defined(__CORE__) && (__CORE__ == __ARM8M__)) || \ 69 defined(__ARM_ARCH_8M__) 70 #include <ti/sysbios/family/arm/v8m/Hwi.h> 80 #if (defined(__ARM_ARCH) && ((__ARM_ARCH == 6) && (__ARM_ARCH_PROFILE == 'M'))) || \ 81 (defined(__CORE__) && (__CORE__ == __ARM6M__)) || \ 82 defined(__ARM_ARCH_6M__) 84 #if defined(__TI_COMPILER_VERSION__) && !defined(__clang__) 90 return ((
unsigned int)__set_PRIMASK(1));
97 return ((
unsigned int)__set_PRIMASK(0));
107 #elif defined(__IAR_SYSTEMS_ICC__) 114 key = __get_PRIMASK();
123 key = __get_PRIMASK();
140 __asm__ __volatile__ (
141 "mrs %0, primask\n\t" 154 __asm__ __volatile__ (
155 "mrs %0, primask\n\t" 166 __asm__ __volatile__ (
179 #if defined(__TI_COMPILER_VERSION__) && !defined(__clang__) 183 return (_set_interrupt_priority(Hwi_disablePriority));
190 return (_set_interrupt_priority(0));
197 (void)_set_interrupt_priority(key);
201 #elif defined(__IAR_SYSTEMS_ICC__) 207 key = __get_BASEPRI();
208 __set_BASEPRI(Hwi_disablePriority);
218 key = __get_BASEPRI();
237 __asm__ __volatile__ (
238 "mrs %0, basepri\n\t" 241 :
"r" (Hwi_disablePriority)
253 __asm__ __volatile__ (
255 "mrs %0, basepri\n\t" 268 __asm__ __volatile__ (
Basic constants and types.
static unsigned int Hwi_enable()
Definition: Hwi.h:249
void Hwi_switchAndRunFunc(void(*func)(void))
Cortex M3/M4 Hardware Interrupt Manager.
static unsigned int Hwi_disable()
Definition: Hwi.h:233
static void Hwi_restore(unsigned int key)
Definition: Hwi.h:266
const unsigned int Hwi_disablePriority
The priority that BASEPRI is set to by Hwi_disable().