Minor fix.
[bertos.git] / bertos / cpu / detect.h
index d7ec6aad047720508b23ca0d0f6e97fa99d55e36..815e663d157f2cf1792a9b50e7b01b53b4504b45 100644 (file)
                #define CPU_CM3_LM3S8962    0
        #endif
 
+       #if defined (__ARM_STM32F100RB__)
+               #define CPU_CM3_STM32       1
+               #define CPU_CM3_STM32F100RB 1
+               #define CPU_NAME            "STM32F100RB"
+       #else
+               #define CPU_CM3_STM32F100RB 0
+       #endif
+
        #if defined (__ARM_STM32F101C4__)
                #define CPU_CM3_STM32       1
                #define CPU_CM3_STM32F101C4 1
                #define CPU_CM3_STM32F101C4 0
        #endif
 
+       #if defined (__ARM_STM32F102C4__)
+               #define CPU_CM3_STM32       1
+               #define CPU_CM3_STM32F102C4 1
+               #define CPU_NAME            "STM32F102C4"
+       #else
+               #define CPU_CM3_STM32F102C4 0
+       #endif
+
        #if defined (__ARM_STM32F103RB__)
                #define CPU_CM3_STM32       1
                #define CPU_CM3_STM32F103RB 1
                #define CPU_CM3_STM32       0
                #define CPU_CM3_SAM3        0
        #elif defined (CPU_CM3_STM32)
-               #if CPU_CM3_STM32F101C4 + CPU_CM3_STM32F103RB + CPU_CM3_STM32F103RE + 0 != 1
+               #if CPU_CM3_STM32F100RB + CPU_CM3_STM32F101C4 + CPU_CM3_STM32F103RB + CPU_CM3_STM32F103RE + CPU_CM3_STM32F102C4 + 0 != 1
                        #error STM32 Cortex-M3 CPU configuration error
                #endif
                #define CPU_CM3_LM3S        0
        #define CPU_CM3_LM3S8962 0
 
        #define CPU_CM3_STM32 0
+       #define CPU_CM3_STM32F100RB 0
        #define CPU_CM3_STM32F103RB 0
        #define CPU_CM3_STM32F101C4 0
-    #define CPU_CM3_STM32F103RE 0
+       #define CPU_CM3_STM32F103RE 0
 
        #define CPU_CM3_SAM3 0
        #define CPU_CM3_SAM3N 0
        #define CPU_CORE_NAME           "AVR"
 
        #if defined(__AVR_ATmega32__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA32    1
                #define CPU_NAME            "ATmega32"
        #else
        #endif
 
        #if defined(__AVR_ATmega64__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA64    1
                #define CPU_NAME            "ATmega64"
        #else
        #endif
 
        #if defined(__AVR_ATmega103__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA103   1
                #define CPU_NAME            "ATmega103"
        #else
        #endif
 
        #if defined(__AVR_ATmega128__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA128   1
                #define CPU_NAME            "ATmega128"
        #else
        #endif
 
        #if defined(__AVR_ATmega8__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA8     1
                #define CPU_NAME            "ATmega8"
        #else
        #endif
 
        #if defined(__AVR_ATmega168__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA168   1
                #define CPU_NAME            "ATmega168"
        #else
        #endif
 
        #if defined(__AVR_ATmega328P__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA328P   1
                #define CPU_NAME            "ATmega328P"
        #else
        #endif
 
        #if defined(__AVR_ATmega1281__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA1281  1
                #define CPU_NAME            "ATmega1281"
        #else
        #endif
 
        #if defined(__AVR_ATmega1280__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA1280  1
                #define CPU_NAME            "ATmega1280"
        #else
        #endif
 
        #if defined(__AVR_ATmega2560__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA2560  1
                #define CPU_NAME            "ATmega2560"
        #else
                #define CPU_AVR_ATMEGA2560  0
        #endif
 
+       #if defined(__AVR_ATxmega128A1__)
+               #define CPU_AVR_XMEGA           1
+               #define CPU_AVR_XMEGA_D4        0
+               #define CPU_AVR_XMEGA_D3        0
+               #define CPU_AVR_XMEGA_A4        0
+               #define CPU_AVR_XMEGA_A3        0
+               #define CPU_AVR_XMEGA_A1        1
+               #define CPU_AVR_ATXMEGA128A1    1
+               #define CPU_NAME                        "ATxmega128a1"
+       #else
+               #define CPU_AVR_ATXMEGA128A1    0
+       #endif
+
+       #if defined(__AVR_ATxmega64A3__)
+               #define CPU_AVR_XMEGA           1
+               #define CPU_AVR_XMEGA_D4        0
+               #define CPU_AVR_XMEGA_D3        0
+               #define CPU_AVR_XMEGA_A4        0
+               #define CPU_AVR_XMEGA_A3        1
+               #define CPU_AVR_XMEGA_A1        0
+               #define CPU_AVR_ATXMEGA64A3     1
+               #define CPU_NAME                        "ATxmega64a3"
+       #else
+               #define CPU_AVR_ATXMEGA64A3     0
+       #endif
+
+       #if defined(__AVR_ATxmega32A4__)
+               #define CPU_AVR_XMEGA           1
+               #define CPU_AVR_XMEGA_D4        0
+               #define CPU_AVR_XMEGA_D3        0
+               #define CPU_AVR_XMEGA_A4        1
+               #define CPU_AVR_XMEGA_A3        0
+               #define CPU_AVR_XMEGA_A1        0
+               #define CPU_AVR_ATXMEGA32A4     1
+               #define CPU_NAME                        "ATxmega32a4"
+       #else
+               #define CPU_AVR_ATXMEGA32A4     0
+       #endif
+
+       #if defined(__AVR_ATxmega32D4__)
+               #define CPU_AVR_XMEGA           1
+               #define CPU_AVR_XMEGA_D4        1
+               #define CPU_AVR_XMEGA_D3        0
+               #define CPU_AVR_XMEGA_A4        0
+               #define CPU_AVR_XMEGA_A3        0
+               #define CPU_AVR_XMEGA_A1        0
+               #define CPU_AVR_ATXMEGA32D4     1
+               #define CPU_NAME                        "ATxmega32d4"
+       #else
+               #define CPU_AVR_ATXMEGA32D4     0
+       #endif
+
        #if CPU_AVR_ATMEGA32 + CPU_AVR_ATMEGA64 + CPU_AVR_ATMEGA103 + CPU_AVR_ATMEGA128 \
          + CPU_AVR_ATMEGA8 + CPU_AVR_ATMEGA168 + CPU_AVR_ATMEGA328P + CPU_AVR_ATMEGA1281 \
-         + CPU_AVR_ATMEGA1280 + CPU_AVR_ATMEGA2560 != 1
+         + CPU_AVR_ATMEGA1280 + CPU_AVR_ATMEGA2560 + CPU_AVR_ATXMEGA128A1 + CPU_AVR_ATXMEGA64A3 \
+         + CPU_AVR_ATXMEGA32A4 + CPU_AVR_ATXMEGA32D4 != 1
                #error AVR CPU configuration error
        #endif
+
+       #if defined(CPU_AVR_XMEGA) && defined(CPU_AVR_MEGA)
+               #error CPU cannot be MEGA and XMEGA
+       #elif defined(CPU_AVR_MEGA)
+               #define CPU_AVR_XMEGA           0
+               #define CPU_AVR_XMEGA_D4        0
+               #define CPU_AVR_XMEGA_D3        0
+               #define CPU_AVR_XMEGA_A4        0
+               #define CPU_AVR_XMEGA_A3        0
+               #define CPU_AVR_XMEGA_A1        0
+       #elif defined(CPU_AVR_XMEGA)
+               #define CPU_AVR_MEGA            0
+               #if CPU_AVR_XMEGA_D4 + CPU_AVR_XMEGA_D3 + CPU_AVR_XMEGA_A4 \
+                 + CPU_AVR_XMEGA_A3 + CPU_AVR_XMEGA_A1 != 1
+                       #error AVR XMEGA CPU Configuration error
+               #endif
+       #endif
+
+       #if CPU_AVR_MEGA + CPU_AVR_XMEGA != 1
+               #error AVR CPU configuration error
+       #endif
+
 #else
        #define CPU_AVR                 0
+       #define CPU_AVR_MEGA                    0
        #define CPU_AVR_ATMEGA8         0
        #define CPU_AVR_ATMEGA168       0
        #define CPU_AVR_ATMEGA328P      0
        #define CPU_AVR_ATMEGA1281      0
        #define CPU_AVR_ATMEGA1280      0
        #define CPU_AVR_ATMEGA2560      0
+       #define CPU_AVR_XMEGA                   0
+       #define CPU_AVR_XMEGA_D4                0
+       #define CPU_AVR_XMEGA_D3                0
+       #define CPU_AVR_XMEGA_A4                0
+       #define CPU_AVR_XMEGA_A3                0
+       #define CPU_AVR_XMEGA_A1                0
+       #define CPU_AVR_ATXMEGA128A1    0
+       #define CPU_AVR_ATXMEGA64A3     0
+       #define CPU_AVR_XTMEGA32A4              0
+       #define CPU_AVR_ATXMEGA32D4             0
 #endif
 
 #if defined (__MSP430__)