1 #ifndef CYGONCE_HAL_BASETYPE_H 2 #define CYGONCE_HAL_BASETYPE_H 3 4 //============================================================================= 5 // 6 // basetype.h 7 // 8 // Standard types for this architecture. 9 // 10 //============================================================================= 11 // ####ECOSGPLCOPYRIGHTBEGIN#### 12 // ------------------------------------------- 13 // This file is part of eCos, the Embedded Configurable Operating System. 14 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. 15 // 16 // eCos is free software; you can redistribute it and/or modify it under 17 // the terms of the GNU General Public License as published by the Free 18 // Software Foundation; either version 2 or (at your option) any later 19 // version. 20 // 21 // eCos is distributed in the hope that it will be useful, but WITHOUT 22 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 23 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 24 // for more details. 25 // 26 // You should have received a copy of the GNU General Public License 27 // along with eCos; if not, write to the Free Software Foundation, Inc., 28 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 29 // 30 // As a special exception, if other files instantiate templates or use 31 // macros or inline functions from this file, or you compile this file 32 // and link it with other works to produce a work based on this file, 33 // this file does not by itself cause the resulting work to be covered by 34 // the GNU General Public License. However the source code for this file 35 // must still be made available in accordance with section (3) of the GNU 36 // General Public License v2. 37 // 38 // This exception does not invalidate any other reasons why a work based 39 // on this file might be covered by the GNU General Public License. 40 // ------------------------------------------- 41 // ####ECOSGPLCOPYRIGHTEND#### 42 //============================================================================= 43 //#####DESCRIPTIONBEGIN#### 44 // 45 // Author(s): nickg, gthomas 46 // Contributors: nickg, gthomas 47 // Date: 1998-09-11 48 // Purpose: Define architecture base types. 49 // Usage: Included by "cyg_type.h", do not use directly 50 51 // 52 //####DESCRIPTIONEND#### 53 // 54 55 //----------------------------------------------------------------------------- 56 // Characterize the architecture 57 58 #ifdef __ARMEB__ 59 # define CYG_BYTEORDER CYG_MSBFIRST // Big endian 60 #else 61 # define CYG_BYTEORDER CYG_LSBFIRST // Little endian 62 #endif 63 64 #if defined(__ARMEL__) && defined(__VFP_FP__) 65 # define CYG_DOUBLE_BYTEORDER CYG_LSBFIRST 66 #else 67 # define CYG_DOUBLE_BYTEORDER CYG_MSBFIRST // Big? endian 68 #endif 69 70 //----------------------------------------------------------------------------- 71 // ARM does not usually use labels with underscores. 72 73 #define CYG_LABEL_NAME(_name_) _name_ 74 #define CYG_LABEL_DEFN(_name_) _name_ 75 76 //----------------------------------------------------------------------------- 77 // Override the alignment definitions from cyg_type.h. ARM only allows 4 78 // byte alignment whereas the default is 8 byte. 79 80 #define CYGARC_ALIGNMENT 4 81 #define CYGARC_P2ALIGNMENT 2 82 83 //----------------------------------------------------------------------------- 84 // Define the standard variable sizes 85 86 // The ARM architecture uses the default definitions of the base types, 87 // so we do not need to define any here. 88 89 //----------------------------------------------------------------------------- 90 #endif // CYGONCE_HAL_BASETYPE_H 91 // End of basetype.h 92