var_intr_numbers.h

Go to the documentation of this file.
00001 #ifndef CYGONCE_HAL_VAR_INTR_NUMBERS_H
00002 #define CYGONCE_HAL_VAR_INTR_NUMBERS_H
00003 //==========================================================================
00004 //
00005 //      var_intr.h
00006 //
00007 //      H8S Interrupt vectors definitions
00008 //
00009 //==========================================================================
00010 //####ECOSGPLCOPYRIGHTBEGIN####
00011 // -------------------------------------------
00012 // This file is part of eCos, the Embedded Configurable Operating System.
00013 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
00014 //
00015 // eCos is free software; you can redistribute it and/or modify it under
00016 // the terms of the GNU General Public License as published by the Free
00017 // Software Foundation; either version 2 or (at your option) any later version.
00018 //
00019 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
00020 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
00021 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00022 // for more details.
00023 //
00024 // You should have received a copy of the GNU General Public License along
00025 // with eCos; if not, write to the Free Software Foundation, Inc.,
00026 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00027 //
00028 // As a special exception, if other files instantiate templates or use macros
00029 // or inline functions from this file, or you compile this file and link it
00030 // with other works to produce a work based on this file, this file does not
00031 // by itself cause the resulting work to be covered by the GNU General Public
00032 // License. However the source code for this file must still be made available
00033 // in accordance with section (3) of the GNU General Public License.
00034 //
00035 // This exception does not invalidate any other reasons why a work based on
00036 // this file might be covered by the GNU General Public License.
00037 //
00038 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
00039 // at http://sources.redhat.com/ecos/ecos-license/
00040 // -------------------------------------------
00041 //####ECOSGPLCOPYRIGHTEND####
00042 //==========================================================================
00043 //#####DESCRIPTIONBEGIN####
00044 //
00045 // Author(s):    Uwe Kindler
00046 // Contributors: Uwe Kindler
00047 // Date:         2003-12-06
00048 // Purpose:      H8S Interrupt Support
00049 // Description:  These are H8S/2674 interrupt vector definitions.
00050 //              
00051 // Usage:
00052 //              #include <cyg/hal/var_intr.h>
00053 //              ...
00054 //              
00055 //
00056 //####DESCRIPTIONEND####
00057 //
00058 //==========================================================================
00059 
00060 
00061 //==========================================================================
00062 //                            DOXYGEN FILE HEADER
00067 //==========================================================================
00068 
00069 
00070 //==========================================================================
00071 //                                  H8S VECTORS
00072 // DESCRIPTION:
00073 //     Standard exception vectors supported by H8S. We have 128 
00074 //     exception vectors in H8S architecture. 
00075 //==========================================================================
00076 #define CYGNUM_HAL_VECTOR_RESET_POWER_ON       0  
00077 #define CYGNUM_HAL_VECTOR_RESET_MANUAL         1
00078 #define CYGNUM_HAL_VECTOR_RSV2                 2
00079 #define CYGNUM_HAL_VECTOR_RSV3                 3
00080 #define CYGNUM_HAL_VECTOR_RSV4                 4
00081 #define CYGNUM_HAL_VECTOR_TRACE                5
00082 #define CYGNUM_HAL_VECTOR_DIRECT_TRANS         6  
00083 #define CYGNUM_HAL_VECTOR_NMI                  7   // interrupt
00084 #define CYGNUM_HAL_VECTOR_TRAP0                8
00085 #define CYGNUM_HAL_VECTOR_TRAP1                9
00086 #define CYGNUM_HAL_VECTOR_TRAP2                10
00087 #define CYGNUM_HAL_VECTOR_TRAP3                11
00088 
00089 
00090 //==========================================================================
00091 //                                 H8S EXCEPTIONS
00092 // DESCRIPTION:
00093 //     Exception numbers of synchronous exceptions. These are the values 
00094 //     used when passed out to an external exception handler using 
00095 //     cyg_hal_deliver_exception().
00096 //==========================================================================
00097 #define CYGNUM_HAL_EXCEPTION_TRACE             CYGNUM_HAL_VECTOR_TRACE
00098 #define CYGNUM_HAL_EXCEPTION_DIRECT_TRANS      CYGNUM_HAL_VECTOR_DIRECT_TRANS
00099 #define CYGNUM_HAL_EXCEPTION_TRAP0             CYGNUM_HAL_VECTOR_TRAP0
00100 #define CYGNUM_HAL_EXCEPTION_TRAP1             CYGNUM_HAL_VECTOR_TRAP1
00101 #define CYGNUM_HAL_EXCEPTION_TRAP2             CYGNUM_HAL_VECTOR_TRAP2
00102 #define CYGNUM_HAL_EXCEPTION_TRAP3             CYGNUM_HAL_VECTOR_TRAP3
00103 
00104 
00105 #define CYGNUM_HAL_EXCEPTION_MIN               CYGNUM_HAL_VECTOR_TRACE
00106 #define CYGNUM_HAL_EXCEPTION_MAX               CYGNUM_HAL_VECTOR_TRAP3
00107 #define CYGNUM_HAL_EXCEPTION_COUNT (CYGNUM_HAL_EXCEPTION_MAX - CYGNUM_HAL_EXCEPTION_MIN +1)
00108 
00109 
00110 //==========================================================================
00111 //                              H8S INTERRUPT VECTORS
00112 // DESCRIPTION:
00113 //     These are the definition for the H8S2674 interrupt vectors and
00114 //     numbers for range checking. 
00115 //
00116 // NOTES:
00117 //     Because interrupts and exceptions are mixed within the 128 H8S 
00118 //     exception vectors we have to define 128 ISR. Normally interrupts
00119 //     start at vector number 16 but vector number 6, and 7 (NMI) are also
00120 //     external interrupts. In order to avoid adress translations we define
00121 //     the ISR table starting at vector 0. 
00122 //==========================================================================
00123 
00124 //--------------------------------------------------------------------------
00125 // external interrupts within the exception vectors
00126 //
00127 #define CYGNUM_HAL_INTERRUPT_NMI                7
00128 
00129 //--------------------------------------------------------------------------
00130 // external interrupts
00131 //
00132 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_0        16
00133 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_1        17
00134 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_2        18
00135 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_3        19
00136 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_4        20
00137 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_5        21
00138 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_6        22
00139 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_7        23
00140 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_8        24
00141 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_9        25
00142 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_10       26
00143 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_11       27
00144 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_12       28
00145 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_13       29
00146 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_14       30
00147 #define CYGNUM_HAL_INTERRUPT_EXTERNAL_15       31
00148 
00149 //--------------------------------------------------------------------------
00150 //
00151 //
00152 #define CYGNUM_HAL_INTERRUPT_SWDTEND           32
00153 #define CYGNUM_HAL_INTERRUPT_WOVI              33
00154 #define CYGNUM_HAL_INTERRUPT_RSV34             34
00155 #define CYGNUM_HAL_INTERRUPT_RFSH_CMI          35
00156 #define CYGNUM_HAL_INTERRUPT_RSV36             36
00157 #define CYGNUM_HAL_INTERRUPT_RSV37             37
00158 #define CYGNUM_HAL_INTERRUPT_ADI               38
00159 #define CYGNUM_HAL_INTERRUPT_RSV39             39
00160 
00161 //--------------------------------------------------------------------------
00162 // TPU 0
00163 //
00164 #define CYGNUM_HAL_INTERRUPT_TGI0A             40
00165 #define CYGNUM_HAL_INTERRUPT_TGI0B             41
00166 #define CYGNUM_HAL_INTERRUPT_TGI0C             42
00167 #define CYGNUM_HAL_INTERRUPT_TGI0D             43
00168 #define CYGNUM_HAL_INTERRUPT_TCI0V             44
00169 #define CYGNUM_HAL_INTERRUPT_RSV45             45
00170 #define CYGNUM_HAL_INTERRUPT_RSV46             46
00171 #define CYGNUM_HAL_INTERRUPT_RSV47             47
00172 
00173 //--------------------------------------------------------------------------
00174 // TPU 1
00175 //
00176 #define CYGNUM_HAL_INTERRUPT_TGI1A             48
00177 #define CYGNUM_HAL_INTERRUPT_TGI1B             49
00178 #define CYGNUM_HAL_INTERRUPT_TCI1V             50
00179 #define CYGNUM_HAL_INTERRUPT_TCI1U             51
00180 
00181 //--------------------------------------------------------------------------
00182 // TPU 2
00183 //
00184 #define CYGNUM_HAL_INTERRUPT_TGI2A             52
00185 #define CYGNUM_HAL_INTERRUPT_TGI2B             53
00186 #define CYGNUM_HAL_INTERRUPT_TCI2V             54
00187 #define CYGNUM_HAL_INTERRUPT_TCI2U             55
00188 
00189 //--------------------------------------------------------------------------
00190 // TPU 3
00191 //
00192 #define CYGNUM_HAL_INTERRUPT_TGI3A             56
00193 #define CYGNUM_HAL_INTERRUPT_TGI3B             57
00194 #define CYGNUM_HAL_INTERRUPT_TGI3C             58
00195 #define CYGNUM_HAL_INTERRUPT_TGI3D             59
00196 #define CYGNUM_HAL_INTERRUPT_TCI3V             60
00197 #define CYGNUM_HAL_INTERRUPT_RSV61             61
00198 #define CYGNUM_HAL_INTERRUPT_RSV62             62
00199 #define CYGNUM_HAL_INTERRUPT_RSV63             63
00200 
00201 //--------------------------------------------------------------------------
00202 // TPU 4
00203 //
00204 #define CYGNUM_HAL_INTERRUPT_TGI4A             64
00205 #define CYGNUM_HAL_INTERRUPT_TGI4B             65
00206 #define CYGNUM_HAL_INTERRUPT_TCI4V             66
00207 #define CYGNUM_HAL_INTERRUPT_TCI4U             67
00208 
00209 //--------------------------------------------------------------------------
00210 // TPU 5
00211 //
00212 #define CYGNUM_HAL_INTERRUPT_TGI5A             68
00213 #define CYGNUM_HAL_INTERRUPT_TGI5B             69
00214 #define CYGNUM_HAL_INTERRUPT_TCI5V             70
00215 #define CYGNUM_HAL_INTERRUPT_TCI5U             71
00216 
00217 //--------------------------------------------------------------------------
00218 // TMR 0
00219 //
00220 #define CYGNUM_HAL_INTERRUPT_CMIA0             72
00221 #define CYGNUM_HAL_INTERRUPT_CMIB0             73
00222 #define CYGNUM_HAL_INTERRUPT_OVI0              74
00223 #define CYGNUM_HAL_INTERRUPT_RSV75             75
00224 
00225 //--------------------------------------------------------------------------
00226 // TMR 1
00227 //
00228 #define CYGNUM_HAL_INTERRUPT_CMIA1             76
00229 #define CYGNUM_HAL_INTERRUPT_CMIB1             77
00230 #define CYGNUM_HAL_INTERRUPT_OVI1              78
00231 #define CYGNUM_HAL_INTERRUPT_RSV79             79
00232 
00233 //--------------------------------------------------------------------------
00234 // DMAC
00235 //
00236 #define CYGNUM_HAL_INTERRUPT_DEND0A            80
00237 #define CYGNUM_HAL_INTERRUPT_DEND0B            81
00238 #define CYGNUM_HAL_INTERRUPT_DEND1A            82
00239 #define CYGNUM_HAL_INTERRUPT_DEND1B            83
00240 
00241 //--------------------------------------------------------------------------
00242 // EXDMAC
00243 //
00244 #define CYGNUM_HAL_INTERRUPT_EXDEND0           84
00245 #define CYGNUM_HAL_INTERRUPT_EXDEND1           85
00246 #define CYGNUM_HAL_INTERRUPT_EXDEND2           86
00247 #define CYGNUM_HAL_INTERRUPT_EXDEND3           87
00248 
00249 //--------------------------------------------------------------------------
00250 // SCI 0
00251 //
00252 #define CYGNUM_HAL_INTERRUPT_ERI0              88
00253 #define CYGNUM_HAL_INTERRUPT_RXI0              89
00254 #define CYGNUM_HAL_INTERRUPT_TXI0              90
00255 #define CYGNUM_HAL_INTERRUPT_TEI0              91
00256 
00257 //--------------------------------------------------------------------------
00258 // SCI 1
00259 //
00260 #define CYGNUM_HAL_INTERRUPT_ERI1              92
00261 #define CYGNUM_HAL_INTERRUPT_RXI1              93
00262 #define CYGNUM_HAL_INTERRUPT_TXI1              94
00263 #define CYGNUM_HAL_INTERRUPT_TEI1              95
00264 
00265 //--------------------------------------------------------------------------
00266 // SCI 2
00267 //
00268 #define CYGNUM_HAL_INTERRUPT_ERI2              96
00269 #define CYGNUM_HAL_INTERRUPT_RXI2              97
00270 #define CYGNUM_HAL_INTERRUPT_TXI2              98
00271 #define CYGNUM_HAL_INTERRUPT_TEI2              99
00272 //
00273 // The following vectors 100 - 127 are reserved an do not generate any
00274 // interrupt. Therefore we do not use them and do not reserve memory
00275 // within interrupt tables
00276 //
00277 
00278 
00279 //--------------------------------------------------------------------------
00280 // some definitions for range checking
00281 // The interrupt table is defined for vector 0 - 99 but the first valid
00282 // vector is vector 7 CYGNUM_HAL_INTERRUPT_NMI
00283 //
00284 #define CYGNUM_HAL_ISR_MIN                     CYGNUM_HAL_INTERRUPT_NMI
00285 #define CYGNUM_HAL_ISR_MAX                     CYGNUM_HAL_INTERRUPT_TEI2
00286 #define CYGNUM_HAL_ISR_COUNT                   CYGNUM_HAL_ISR_MAX + 1
00287 #define CYGNUM_HAL_ISR_FIRST_EXT               CYGNUM_HAL_INTERRUPT_EXTERNAL_0
00288 #define CYGNUM_HAL_ISR_LAST_INT                CYGNUM_HAL_INTERRUPT_TEI2 
00289          
00290  
00291 //==========================================================================
00292 //                            REALTIME CLOCK VECTOR
00293 // DESCRIPTION:
00294 //     The vector used by the real time clock 
00295 //==========================================================================
00296 #define CYGNUM_HAL_INTERRUPT_RTC                CYGNUM_HAL_INTERRUPT_TGI5A
00297 
00298 //--------------------------------------------------------------------------
00299 #endif // #ifndef CYGONCE_HAL_VAR_INTR_NUMBERS_H
00300 // End of var_intr_numbers.h

Generated on Tue Feb 17 09:06:13 2004 for eCos EDOSK-2674 HAL by doxygen 1.3.5