Fix errors in nightly test.
[bertos.git] / bertos / cpu / attr.h
index 832f0618698c724945f7196dfaf97e30cf790404..5e24fa3c9d3ee7b57ae6d19ad36212f2798789a5 100644 (file)
                #define RAM_FUNC __attribute__((section(".data")))
 
        #endif /* !__IAR_SYSTEMS_ICC_ */
+#elif CPU_CM3
+
+       #define CPU_REG_BITS           32
+       #define CPU_REGS_CNT           fixme
+       #define CPU_HARVARD            0
+
+       /// Valid pointers should be >= than this value (used for debug)
+       #if CPU_CM3_LM3S1968
+               #define CPU_RAM_START 0x20000000
+       #else
+               #warning Fix CPU_RAM_START address for your Cortex-M3, default value set to 0x200
+               #define CPU_RAM_START 0x200
+       #endif
+
+       #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 Cortex-M3 endianness!
+       #endif
+
+       #define NOP         fixme
+       #define BREAKPOINT  /* asm("bkpt 0") DOES NOT WORK */
 
 #elif CPU_PPC
 
        /// Valid pointers should be >= than this value (used for debug)
        #if CPU_AVR_ATMEGA8 || CPU_AVR_ATMEGA32 || CPU_AVR_ATMEGA103
                #define CPU_RAM_START       0x60
-       #elif CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA168
+       #elif CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P
                #define CPU_RAM_START       0x100
        #elif CPU_AVR_ATMEGA1281
                #define CPU_RAM_START       0x200