|
发表于 2020-11-21 09:22:01
|
显示全部楼层
使用最新的CMSIS5.7.0软件包就可以看到了。现在新的将其整到arm_compat.h文件了,作为兼容性存在
- static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
- __disable_irq(void) {
- unsigned int cpsr;
- #if __ARM_ARCH >= 6
- #if defined(__ARM_ARCH_PROFILE) && __ARM_ARCH_PROFILE == 'M'
- __asm__ __volatile__("mrs %[cpsr], primask\n"
- "cpsid i\n"
- : [cpsr] "=r"(cpsr));
- return cpsr & 0x1;
- #else /* !defined(__ARM_ARCH_PROFILE) || __ARM_ARCH_PROFILE != 'M' */
- __asm__ __volatile__("mrs %[cpsr], cpsr\n"
- "cpsid i\n"
- : [cpsr] "=r"(cpsr));
- return cpsr & 0x80;
- #endif
- #else /* __ARM_ARCH < 6 */
- unsigned int tmp;
- __asm__ __volatile__(
- "mrs %[cpsr], CPSR\n"
- "bic %[tmp], %[cpsr], #0x80\n"
- "msr CPSR_c, %[tmp]\n"
- : [tmp]"=r"(tmp), [cpsr]"=r"(cpsr));
- return cpsr & 0x80;
- #endif
- }
复制代码
|
|