OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [mips/] [jmr3904/] [v2_0/] [cdl/] [hal_mips_tx39_jmr3904.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_mips_tx39_jmr3904.cdl
4
#
5
#      TX39/JMR3904 board HAL package configuration data
6
#
7
# ====================================================================
8
#####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later version.
16
##
17
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
## for more details.
21
##
22
## You should have received a copy of the GNU General Public License along
23
## with eCos; if not, write to the Free Software Foundation, Inc.,
24
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
##
26
## As a special exception, if other files instantiate templates or use macros
27
## or inline functions from this file, or you compile this file and link it
28
## with other works to produce a work based on this file, this file does not
29
## by itself cause the resulting work to be covered by the GNU General Public
30
## License. However the source code for this file must still be made available
31
## in accordance with section (3) of the GNU General Public License.
32
##
33
## This exception does not invalidate any other reasons why a work based on
34
## this file might be covered by the GNU General Public License.
35
##
36
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
## at http://sources.redhat.com/ecos/ecos-license/
38
## -------------------------------------------
39
#####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      jskov
44
# Original data:  bartv
45
# Contributors:
46
# Date:           1999-11-02
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_MIPS_TX39_JMR3904 {
53
    display  "JMR3904 evaluation board"
54
    parent        CYGPKG_HAL_MIPS
55
    requires      CYGPKG_HAL_MIPS_TX39
56
    define_header hal_mips_tx39_jmr3904.h
57
    include_dir   cyg/hal
58
    description   "
59
           The JMR3904 HAL package should be used when targetting the
60
           actual hardware. The same package can also be used when
61
           running on the full simulator, since this provides an
62
           accurate simulation of the hardware including I/O devices.
63
           To use the simulator in this mode the command
64
           `target sim --board=jmr3904' should be used from inside gdb."
65
 
66
    compile       platform.S plf_misc.c plf_stub.c
67
 
68
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
69
 
70
    define_proc {
71
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
72
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
73
    }
74
 
75
    cdl_component CYG_HAL_STARTUP {
76
        display       "Startup type"
77
        flavor        data
78
        legal_values  {"RAM" "ROM"}
79
        default_value {"RAM"}
80
        no_define
81
        define -file system.h CYG_HAL_STARTUP
82
        description   "
83
           When targetting the JMR3904 board it is possible to build
84
           the system for either RAM bootstrap, ROM bootstrap, or STUB
85
           bootstrap. RAM bootstrap generally requires that the board
86
           is equipped with ROMs containing a suitable ROM monitor or
87
           equivalent software that allows GDB to download the eCos
88
           application on to the board. The ROM bootstrap typically
89
           requires that the eCos application be blown into EPROMs or
90
           equivalent technology."
91
    }
92
 
93
    cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG {
94
        display "DRAM configuration"
95
        flavor data
96
        legal_values {"4MB" "8MB" "16MB"}
97
        default_value {"16MB"}
98
        description "
99
            DRAM configuration. 4MB (1MBit (x4bit) x 8), 8MByte (1MBit
100
            (x4bit) x 8 x 2 banks) or 16MByte (4MBit (x4bit) x
101
            8). Only change if you are aware of the consequences."
102
    }
103
 
104
 
105
    cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG_INIT {
106
        display "DRAM config init"
107
        flavor data
108
        description "This is the value used for the hardware."
109
        calculated { CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG == "4MB" ? 0x08013020 : \
110
                CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG == "8MB" ? 0x08013020 : 0x08024030 }
111
    }
112
 
113
    cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_ENABLE_TOE {
114
        display "Bus timeout detection"
115
        default_value 0
116
        description "
117
            Only change if you are aware of the consequences."
118
    }
119
 
120
    # Real-time clock/counter specifics
121
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
122
        display       "Real-time clock constants."
123
        flavor        none
124
 
125
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
126
            display       "Real-time clock numerator"
127
            flavor        data
128
            calculated    1000000000
129
        }
130
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
131
            display       "Real-time clock denominator"
132
            flavor        data
133
            calculated    100
134
        }
135
        # Isn't a nice way to handle freq requirement!
136
        cdl_option CYGNUM_HAL_RTC_PERIOD {
137
            display       "Real-time clock period"
138
            flavor        data
139
            legal_values  { 15360 20736 }
140
            calculated     { CYGHWR_HAL_MIPS_CPU_FREQ == 50 ? 15360 : \
141
                             CYGHWR_HAL_MIPS_CPU_FREQ == 66 ? 20736 : 0 }
142
        }
143
    }
144
 
145
    cdl_component CYGBLD_GLOBAL_OPTIONS {
146
        display "Global build options"
147
        flavor  none
148
        parent  CYGPKG_NONE
149
        description   "
150
            Global build options including control over
151
            compiler flags, linker flags and choice of toolchain."
152
 
153
 
154
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
155
            display "Global command prefix"
156
            flavor  data
157
            no_define
158
            default_value { "mips-tx39-elf" }
159
            description "
160
                This option specifies the command prefix used when
161
                invoking the build tools."
162
        }
163
 
164
        cdl_option CYGBLD_GLOBAL_CFLAGS {
165
            display "Global compiler flags"
166
            flavor  data
167
            no_define
168
            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
169
            description   "
170
                This option controls the global compiler flags which
171
                are used to compile all packages by
172
                default. Individual packages may define
173
                options which override these global flags."
174
        }
175
 
176
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
177
            display "Global linker flags"
178
            flavor  data
179
            no_define
180
            default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
181
            description   "
182
                This option controls the global linker flags. Individual
183
                packages may define options which override these global flags."
184
        }
185
 
186
        cdl_option CYGBLD_BUILD_GDB_STUBS {
187
            display "Build GDB stub ROM image"
188
            default_value 0
189
            requires { CYG_HAL_STARTUP == "ROM" }
190
            requires CYGSEM_HAL_ROM_MONITOR
191
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
192
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
193
            requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
194
            requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
195
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
196
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
197
            no_define
198
            description "
199
                This option enables the building of the GDB stubs for the
200
                board. The common HAL controls takes care of most of the
201
                build process, but the final conversion from ELF image to
202
                binary data is handled by the platform CDL, allowing
203
                relocation of the data if necessary."
204
 
205
            make -priority 320 {
206
                /bin/gdb_module.bin : /bin/gdb_module.img
207
                $(OBJCOPY) -O binary $< $@
208
            }
209
        }
210
    }
211
 
212
    cdl_component CYGHWR_MEMORY_LAYOUT {
213
        display "Memory layout"
214
        flavor data
215
        no_define
216
        calculated { CYG_HAL_STARTUP == "RAM" ? "mips_tx39_jmr3904_ram" : \
217
                                                "mips_tx39_jmr3904_rom" }
218
 
219
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
220
            display "Memory layout linker script fragment"
221
            flavor data
222
            no_define
223
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
224
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
225
                                                    "" }
226
        }
227
 
228
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
229
            display "Memory layout header file"
230
            flavor data
231
            no_define
232
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
233
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
234
                                                    "" }
235
        }
236
    }
237
 
238
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
239
        display       "Work with a ROM monitor"
240
        flavor        booldata
241
        legal_values  { "Generic" "CygMon" "GDB_stubs" }
242
        default_value { CYG_HAL_STARTUP == "RAM" ? "CygMon" : 0 }
243
        parent        CYGPKG_HAL_ROM_MONITOR
244
        requires      { CYG_HAL_STARTUP == "RAM" }
245
        description   "
246
            Support can be enabled for three different varieties of ROM monitor.
247
            This support changes various eCos semantics such as the encoding
248
            of diagnostic output, or the overriding of hardware interrupt
249
            vectors.
250
            Firstly there is \"Generic\" support which prevents the HAL
251
            from overriding the hardware vectors that it does not use, to
252
            instead allow an installed ROM monitor to handle them. This is
253
            the most basic support which is likely to be common to most
254
            implementations of ROM monitor.
255
            \"CygMon\" provides support for the Cygnus ROM Monitor.
256
            And finally, \"GDB_stubs\" provides support when GDB stubs are
257
            included in the ROM monitor or boot ROM."
258
    }
259
 
260
    cdl_option CYGSEM_HAL_ROM_MONITOR {
261
        display       "Behave as a ROM monitor"
262
        flavor        bool
263
        default_value 0
264
        parent        CYGPKG_HAL_ROM_MONITOR
265
        requires      { CYG_HAL_STARTUP == "ROM" }
266
        description   "
267
            Enable this option if this program is to be used as a ROM monitor,
268
            i.e. applications will be loaded into RAM on the board, and this
269
            ROM monitor may process exceptions or interrupts generated from the
270
            application. This enables features such as utilizing a separate
271
            interrupt stack when exceptions are generated."
272
    }
273
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.