CM3: trim the startup IRQ vector table.
[bertos.git] / bertos / cpu / attr.h
index 8fdcb1c8fd2508554809df29b38fbf2158c7fc79..a02600f37f30cdee8878d52563eb4657d7767c10 100644 (file)
        /// Valid pointers should be >= than this value (used for debug)
        #if CPU_ARM_AT91
                #define CPU_RAM_START           0x00200000
+       #elif CPU_ARM_LPC2
+               #define CPU_RAM_START           0x40000000
        #else
                #warning Fix CPU_RAM_START address for your ARM, default value set to 0x200
                #define CPU_RAM_START           0x200
        #endif
 
        #define NOP         asm volatile ("nop")
+       #define PAUSE       asm volatile ("wfi" ::: "memory")
        #define BREAKPOINT  /* asm("bkpt 0") DOES NOT WORK */
 
-       /*
-        * Builtin GCC memset() can be buggy! We need to redefine it here for
-        * this architecture. :(
-        */
-       #include <cfg/compiler.h>
-       #define memset  __cm3_memset
-       INLINE void *__cm3_memset(void *s, int c, size_t n)
-       {
-               uint8_t *p = (uint8_t *)s;
-
-               while (n--)
-                       *p++ = c;
-               return s;
-       }
-
 #elif CPU_PPC
 
        #define CPU_REG_BITS           (CPU_PPC32 ? 32 : 64)