avr: Documentation syntax fix.
[bertos.git] / bertos / cpu / attr.h
index f2183faaa7f7b8bebff271cb5b73b7caca7aba66..bfcb705edb6c1d350fda9c827d8ecda22bb9cc07 100644 (file)
@@ -34,7 +34,7 @@
  * \brief CPU-specific attributes.
  *
  * \author Giovanni Bajo <rasky@develer.com>
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
  * \author Stefano Fedrigo <aleph@develer.com>
  * \author Francesco Sacchi <batt@develer.com>
  */
@@ -74,6 +74,9 @@
        #define CPU_BYTE_ORDER          CPU_LITTLE_ENDIAN
        #define CPU_HARVARD             0
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x100
+
 #elif CPU_X86
 
        #define NOP                     asm volatile ("nop")
@@ -96,6 +99,9 @@
                #define CPU_REG_BITS    32
        #endif
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x1000
+
 #elif CPU_ARM
 
        /* Register counts include SREG too */
        #define CPU_SP_ON_EMPTY_SLOT   0
        #define CPU_HARVARD            0
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x200
+
        #ifdef __IAR_SYSTEMS_ICC__
                #warning Check CPU_BYTE_ORDER
                #define CPU_BYTE_ORDER (__BIG_ENDIAN__ ? CPU_BIG_ENDIAN : CPU_LITTLE_ENDIAN)
        /* Register counts include SREG too */
        #define CPU_REG_BITS           (CPU_PPC32 ? 32 : 64)
        #define CPU_REGS_CNT           FIXME
-       #define CPU_SAVED_REGS_CNT     FIXME
+       #define CPU_SAVED_REGS_CNT     1  // FIXME
        #define CPU_STACK_GROWS_UPWARD 0  //FIXME
        #define CPU_SP_ON_EMPTY_SLOT   0  //FIXME
        #define CPU_BYTE_ORDER         (__BIG_ENDIAN__ ? CPU_BIG_ENDIAN : CPU_LITTLE_ENDIAN)
        #define CPU_HARVARD            0
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x1000
+
 #elif CPU_DSP56K
 
        #define NOP                     asm(nop)
        #define SIZEOF_LONG         2
        #define SIZEOF_PTR          1
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x200
+
 #elif CPU_AVR
 
        #define NOP           asm volatile ("nop" ::)
         */
        #define CPU_REG_INIT_VALUE(reg) (reg == 0 ? 0x80 : 0)
 
+       /// Valid pointers should be >= than this value (used for debug)
+       #define CPU_RAM_START           0x100
+
 #else
        #error No CPU_... defined.
 #endif
 
 #elif CPU_AVR
        /*
-        * In AVR, the addresses are pushed into the stack as little-endian, while
+        * On AVR, addresses are pushed into the stack as little-endian, while
         * memory accesses are big-endian (actually, it's a 8-bit CPU, so there is
         * no natural endianess).
         */