X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cpu%2Fattr.h;h=5d0ce885d10436e861e41b9ceb81d01cf418dddf;hb=213088a9de740db4438ec5f018ea454e1dd0d013;hp=497f899700d2712816480bd0792a53c4fd177dd9;hpb=0d5973b823b256204c2588b46891bb5231352e6f;p=bertos.git diff --git a/cpu/attr.h b/cpu/attr.h index 497f8997..5d0ce885 100644 --- a/cpu/attr.h +++ b/cpu/attr.h @@ -102,13 +102,23 @@ #define CPU_SAVED_REGS_CNT 9 #define CPU_STACK_GROWS_UPWARD 0 #define CPU_SP_ON_EMPTY_SLOT 0 - #define CPU_BYTE_ORDER (__BIG_ENDIAN__ ? CPU_BIG_ENDIAN : CPU_LITTLE_ENDIAN) #define CPU_HARVARD 0 #ifdef __IAR_SYSTEMS_ICC__ - #define NOP __no_operation() + #warning Check CPU_BYTE_ORDER + #define CPU_BYTE_ORDER (__BIG_ENDIAN__ ? CPU_BIG_ENDIAN : CPU_LITTLE_ENDIAN) + + #define NOP __no_operation() #else /* !__IAR_SYSTEMS_ICC__ */ - #define NOP asm volatile ("mov r0,r0" ::) + #if defined(__ARMEB__) + #define CPU_BYTE_ORDER CPU_BIG_ENDIAN + #elif defined(__ARMEL__) + #define CPU_BYTE_ORDER CPU_LITTLE_ENDIAN + #else + #error Unable to detect ARM endianness! + #endif + + #define NOP asm volatile ("mov r0,r0" ::) /** * Initialization value for registers in stack frame. @@ -258,7 +268,7 @@ /* * If the kernel is in idle-spinning, the processor execute: - * + * * IRQ_ENABLE; * CPU_IDLE; * IRQ_DISABLE;