diff options
Diffstat (limited to 'cpukit/score/cpu/avr/avr/io.h')
-rw-r--r-- | cpukit/score/cpu/avr/avr/io.h | 194 |
1 files changed, 102 insertions, 92 deletions
diff --git a/cpukit/score/cpu/avr/avr/io.h b/cpukit/score/cpu/avr/avr/io.h index d4198f14ae..22ac57d84f 100644 --- a/cpukit/score/cpu/avr/avr/io.h +++ b/cpukit/score/cpu/avr/avr/io.h @@ -1,100 +1,109 @@ -/* Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch - Copyright (c) 2007 Eric B. Weddington - All rights reserved. +/** + * @file + * + * @brief AVR device-specific IO Definitions + * + * This header file includes the apropriate IO definitions for the + * device that has been specified by the <tt>-mmcu=</tt> compiler + * command-line switch. This is done by diverting to the appropriate + * file <tt><avr/io</tt><em>XXXX</em><tt>.h></tt> which should + * never be included directly. Some register names common to all + * AVR devices are defined directly within <tt><avr/common.h></tt>, + * which is included in <tt><avr/io.h></tt>, + * but most of the details come from the respective include file. + * + * Note that this file always includes the following files: + * \code + * #include <avr/sfr_defs.h> + * #include <avr/portpins.h> + * #include <avr/common.h> + * #include <avr/version.h> + * \endcode + * See \ref avr_sfr for more details about that header file. + * + * Included are definitions of the IO register set and their + * respective bit values as specified in the Atmel documentation. + * Note that inconsistencies in naming conventions, + * so even identical functions sometimes get different names on + * different devices. + * + * Also included are the specific names useable for interrupt + * function definitions as documented + * \ref avr_signames "here". + * + * Finally, the following macros are defined: + * + * - \b RAMEND + * <br> + * The last on-chip RAM address. + * <br> + * - \b XRAMEND + * <br> + * The last possible RAM location that is addressable. This is equal to + * RAMEND for devices that do not allow for external RAM. For devices + * that allow external RAM, this will be larger than RAMEND. + * <br> + * - \b E2END + * <br> + * The last EEPROM address. + * <br> + * - \b FLASHEND + * <br> + * The last byte address in the Flash program space. + * <br> + * - \b SPM_PAGESIZE + * <br> + * For devices with bootloader support, the flash pagesize + * (in bytes) to be used for the \c SPM instruction. + * - \b E2PAGESIZE + * <br> + * The size of the EEPROM page. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. */ - - -/** \file */ -/** \defgroup avr_io <avr/io.h>: AVR device-specific IO definitions - \code #include <avr/io.h> \endcode - - This header file includes the apropriate IO definitions for the - device that has been specified by the <tt>-mmcu=</tt> compiler - command-line switch. This is done by diverting to the appropriate - file <tt><avr/io</tt><em>XXXX</em><tt>.h></tt> which should - never be included directly. Some register names common to all - AVR devices are defined directly within <tt><avr/common.h></tt>, - which is included in <tt><avr/io.h></tt>, - but most of the details come from the respective include file. - - Note that this file always includes the following files: - \code - #include <avr/sfr_defs.h> - #include <avr/portpins.h> - #include <avr/common.h> - #include <avr/version.h> - \endcode - See \ref avr_sfr for more details about that header file. - - Included are definitions of the IO register set and their - respective bit values as specified in the Atmel documentation. - Note that inconsistencies in naming conventions, - so even identical functions sometimes get different names on - different devices. - - Also included are the specific names useable for interrupt - function definitions as documented - \ref avr_signames "here". - - Finally, the following macros are defined: - - - \b RAMEND - <br> - The last on-chip RAM address. - <br> - - \b XRAMEND - <br> - The last possible RAM location that is addressable. This is equal to - RAMEND for devices that do not allow for external RAM. For devices - that allow external RAM, this will be larger than RAMEND. - <br> - - \b E2END - <br> - The last EEPROM address. - <br> - - \b FLASHEND - <br> - The last byte address in the Flash program space. - <br> - - \b SPM_PAGESIZE - <br> - For devices with bootloader support, the flash pagesize - (in bytes) to be used for the \c SPM instruction. - - \b E2PAGESIZE - <br> - The size of the EEPROM page. - -*/ +/* + * Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch + * Copyright (c) 2007 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ #ifndef _AVR_IO_H_ #define _AVR_IO_H_ +/** + * @defgroup avr_io Input Output + * + * @ingroup avr + * + */ +/**@{**/ + #include <avr/sfr_defs.h> #if defined (__AVR_AT94K__) @@ -416,4 +425,5 @@ /* Include lock.h after individual IO header files. */ #include <avr/lock.h> +/** @} */ #endif /* _AVR_IO_H_ */ |