4 * Copyright 2004, 2005 Develer S.r.l. (http://www.develer.com/)
5 * Copyright 2004 Giovanni Bajo
6 * This file is part of DevLib - See README.devlib for information.
9 * \brief CPU detection through special preprocessor macros
15 *#* Revision 1.4 2005/02/16 20:33:24 bernie
16 *#* Preliminary PPC support.
18 *#* Revision 1.3 2004/12/31 17:39:26 bernie
19 *#* Use C89 comments only.
21 *#* Revision 1.2 2004/08/25 14:12:08 rasky
22 *#* Aggiornato il comment block dei log RCS
24 *#* Revision 1.1 2004/07/30 17:14:49 rasky
25 *#* File sfuggito al commit precedente (nuova gestione unificata del detect della CPU
27 *#* Revision 1.2 2004/07/30 10:31:07 rasky
28 *#* Aggiunto detect per ATmega128
34 #if defined(__IAR_SYSTEMS_ICC) || defined(__IAR_SYSTEMS_ICC__)
41 #if defined(__i386__) || defined(_MSC_VER)
48 #if defined (_ARCH_PPC) || defined(_ARCH_PPC64)
51 #if defined(_ARCH_PPC)
56 #if defined(_ARCH_PPC64)
67 #if defined(__m56800E__) || defined(__m56800__)
78 #if defined(__AVR_ATmega64__)
79 #define CPU_AVR_ATMEGA64 1
81 #define CPU_AVR_ATMEGA64 0
84 #if defined(__AVR_ATmega103__)
85 #define CPU_AVR_ATMEGA103 1
87 #define CPU_AVR_ATMEGA103 0
90 #if defined(__AVR_ATmega128__)
91 #define CPU_AVR_ATMEGA128 1
93 #define CPU_AVR_ATMEGA128 0
96 #if defined(__AVR_ATmega8__)
97 #define CPU_AVR_ATMEGA8 1
99 #define CPU_AVR_ATMEGA8 0
103 #define CPU_AVR_ATMEGA8 0
104 #define CPU_AVR_ATMEGA64 0
105 #define CPU_AVR_ATMEGA103 0
106 #define CPU_AVR_ATMEGA128 0
110 /* Self-check for the detection: only one CPU must be detected */
111 #if CPU_I196 + CPU_X86 + CPU_PPC + CPU_DSP56K + CPU_AVR == 0
113 #elif !defined(CPU_ID)
114 #error CPU_ID not defined
115 #elif CPU_I196 + CPU_X86 + CPU_PPC + CPU_DSP56K + CPU_AVR != 1
116 #error Internal CPU configuration error
120 #endif /* CPU_DETECT_H */