Statistics
| Branch: | Tag: | Revision:

root / LUFA / Common / Architectures.h @ 978b99e5

History | View | Annotate | Download (2.86 KB)

1
/*
2
             LUFA Library
3
     Copyright (C) Dean Camera, 2011.
4

5
  dean [at] fourwalledcubicle [dot] com
6
           www.lufa-lib.org
7
*/
8

    
9
/*
10
  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
11

12
  Permission to use, copy, modify, distribute, and sell this
13
  software and its documentation for any purpose is hereby granted
14
  without fee, provided that the above copyright notice appear in
15
  all copies and that both that the copyright notice and this
16
  permission notice and warranty disclaimer appear in supporting
17
  documentation, and that the name of the author not be used in
18
  advertising or publicity pertaining to distribution of the
19
  software without specific, written prior permission.
20

21
  The author disclaim all warranties with regard to this
22
  software, including all implied warranties of merchantability
23
  and fitness.  In no event shall the author be liable for any
24
  special, indirect or consequential damages or any damages
25
  whatsoever resulting from loss of use, data or profits, whether
26
  in an action of contract, negligence or other tortious action,
27
  arising out of or in connection with the use or performance of
28
  this software.
29
*/
30

    
31
/** \file
32
 *  \brief Supported library architecture defines.
33
 *
34
 *  \copydetails Group_Architectures
35
 *
36
 *  \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
37
 *        functionality.
38
 */
39

    
40
/** \ingroup Group_Common
41
 *  \defgroup Group_Architectures Hardware Architectures
42
 *  \brief Supported library architecture defines.
43
 *
44
 *  Architecture macros for selecting the desired target microcontroller architecture. One of these values should be
45
 *  defined as the value of \c ARCH in the user project makefile via the \c -D compiler switch to GCC, to select the
46
 *  target architecture.
47
 *
48
 *  The selected architecture should remain consistent with the makefile \c ARCH value, which is used to select the
49
 *  underlying driver source files for each architecture.
50
 *
51
 *  @{
52
 */
53

    
54
#ifndef __LUFA_ARCHITECTURES_H__
55
#define __LUFA_ARCHITECTURES_H__
56

    
57
        /* Preprocessor Checks: */
58
                #if !defined(__INCLUDE_FROM_COMMON_H)
59
                        #error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
60
                #endif
61

    
62
        /* Public Interface - May be used in end-application: */
63
                /* Macros: */
64
                        /** Selects the Atmel 8-bit AVR (AT90USB* and ATMEGA*U* chips) architecture. */
65
                        #define ARCH_AVR8           0
66

    
67
                        /** Selects the Atmel 32-bit UC3 AVR (AT32UC3* chips) architecture. */
68
                        #define ARCH_UC3            1
69
                        
70
                        /** Selects the Atmel XMEGA AVR (ATXMEGA*U chips) architecture. */
71
                        #define ARCH_XMEGA          2
72
                        
73
                        #if !defined(__DOXYGEN__)
74
                                #define ARCH_           ARCH_AVR8
75

    
76
                                #if !defined(ARCH)
77
                                        #define ARCH        ARCH_AVR8
78
                                #endif
79
                        #endif
80

    
81
#endif
82

    
83
/** @} */
84