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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sparclite/] [sleb/] [current/] [cdl/] [hal_sparclite_sleb.cdl] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_sparclite_sleb.cdl
4
#
5
#      SPARClite/SLEB target 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 Free Software Foundation, 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
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      jskov
43
# Original data:  hmt
44
# Contributors:
45
# Date:           1999-11-01
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_SPARCLITE_SLEB {
52
    display  "SPARClite MB8683x evaluation board"
53
    parent        CYGPKG_HAL_SPARCLITE
54
    define_header hal_sparclite_sleb.h
55
    include_dir   cyg/hal
56
    description   "
57
        The SPARClite evaluation board HAL package is provided for use
58
        with the Fujitsu MB8683x boards."
59
 
60
    compile       hal_priv.c hal_cygm.S hal_diag.c
61
 
62
    define_proc {
63
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
64
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
65
        puts $::cdl_header "#define CYGHWR_HAL_SPARCLITE_HAS_ASR17 /* true for SLEBs */"
66
    }
67
 
68
    cdl_component CYG_HAL_STARTUP {
69
        display       "Startup type"
70
        flavor        data
71
        legal_values  {"RAM" "ROM"}
72
        default_value {"RAM"}
73
        no_define
74
        define -file system.h CYG_HAL_STARTUP
75
        description   "
76
           When targetting the SPARClite Evaluation Board it is possible to
77
           build the system for either RAM bootstrap or ROM bootstrap. The
78
           former generally requires that the board is equipped with ROMs
79
           containing the Cygmon ROM monitor or equivalent software that
80
           allows gdb to download the eCos application on to the board. The
81
           latter typically requires that the eCos application be blown
82
           into EPROMs or equivalent technology."
83
    }
84
 
85
    cdl_option CYGHWR_HAL_SPARCLITE_MULTIPLE_VECTOR_TRAPPING {
86
        display       "Multiple vector trapping (MVT)"
87
        default_value 0
88
        description   "
89
            Use Multiple Vector Trapping (MVT) rather than Single Vector
90
            Trapping (SVT); SVT is a feature of SPARClite CPUs which saves
91
            code RAM at a cost of perhaps slower interrupt and trap dispatch
92
            time, depending on cache behavior.  This includes speed of
93
            handling register window underflow and overflow, a feature of
94
            deep function call stacks on SPARC.  MVT requires 4kB of code
95
            space for trap vectors; in contrast SVT uses fewer than 20
96
            instructions for trap decoding."
97
    }
98
 
99
    cdl_option CYGIMP_HAL_SPARCLITE_COPY_VECTORS_TO_RAM {
100
        display       "Copy vectors to RAM"
101
        default_value 0
102
        description   "
103
            Copy the vectors and trap code out of the executable image
104
            to separate RAM.  With ROM startup, performance might be gained
105
            by copying the vectors into RAM; this includes the code for
106
            handling register window under/overflow.  Enable this with
107
            RAM startup to simulate the code and data sizes of an eventual
108
            ROM image.  Note: if MVT is not selected with ROM start, the
109
            trap code (including register window handling) is copied
110
            to RAM regardless; that code is small."
111
    }
112
 
113
 
114
    cdl_component CYG_HAL_USE_ROM_MONITOR_CYGMON {
115
        display       "Use ROM monitor CygMon"
116
        default_value 1
117
        active_if     { CYG_HAL_STARTUP == "RAM" }
118
        description   "
119
            This is defined by default to allow interworking with
120
            CygMon and thus GDB so that Breakpoints and ^C interrupts
121
            and the like work.  Disable it if building to run with the
122
            native Fujitsu boot proms (NOT CYGMON) ie. a
123
            load-and-go type startup by means of
124
             (gdb) target sparclite udp sleb0
125
            or
126
             (gdb) target sparclite serial /dev/ttyS0
127
            as opposed to the CygMon way:
128
             (gdb) set remotebaud 19200
129
             (gdb) target remote /dev/ttyS0
130
            Such builds will load-and-go when using CygMon, but
131
            load-and-go is all the interaction you get."
132
 
133
        cdl_option CYG_KERNEL_DIAG_GDB {
134
            display       "Output diag strings as \$O packets"
135
            default_value 1
136
            description   "
137
                If using CygMon it's generally helpful to wrap output
138
                characters in the GDB protocol as \$O packets; This
139
                option enables this by means of calling into CygMon
140
                through the vectors provided; this therefore also
141
                works with eg. ethernet debugging.
142
 
143
                Disable this option and output goes direct, in clear,
144
                to serial port 0 (CON1)."
145
        }
146
 
147
        cdl_option CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT {
148
            display       "Output diag strings as \$O packets on serial"
149
            active_if     CYG_KERNEL_DIAG_GDB
150
            default_value 0
151
            description   "
152
                However, you might want to force GDB-encoded output to
153
                the serial port NOT using CygMon to perform the
154
                formatting; this is really only here as a debugging
155
                option, in case GDB is behaving oddly.  Enable this
156
                option to make GDB \$O packets come out the serial port
157
                (CON1)"
158
        }
159
    }
160
 
161
    # Real-time clock/counter specifics
162
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
163
        display       "Real-time clock constants."
164
        flavor        none
165
 
166
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
167
            display       "Real-time clock numerator"
168
            flavor        data
169
            default_value 1000000000
170
        }
171
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
172
            display       "Real-time clock denominator"
173
            flavor        data
174
            default_value 100
175
        }
176
        cdl_option CYGNUM_HAL_RTC_PERIOD {
177
            display       "Real-time clock period"
178
            flavor        data
179
            default_value 9999
180
        }
181
    }
182
 
183
    cdl_component CYGBLD_GLOBAL_OPTIONS {
184
        display "Global build options"
185
        flavor  none
186
        description   "
187
            Global build options including control over
188
            compiler flags, linker flags and choice of toolchain."
189
 
190
 
191
        parent  CYGPKG_NONE
192
 
193
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
194
            display "Global command prefix"
195
            flavor  data
196
            no_define
197
            default_value { "sparclite-elf" }
198
            description "
199
                This option specifies the command prefix used when
200
                invoking the build tools."
201
        }
202
 
203
        cdl_option CYGBLD_GLOBAL_CFLAGS {
204
            display "Global compiler flags"
205
            flavor  data
206
            no_define
207
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-msoft-float -mcpu=sparclite -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
208
            description   "
209
                This option controls the global compiler flags which
210
                are used to compile all packages by
211
                default. Individual packages may define
212
                options which override these global flags."
213
        }
214
 
215
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
216
            display "Global linker flags"
217
            flavor  data
218
            no_define
219
            default_value { "-msoft-float -mcpu=sparclite -g -nostdlib -Wl,--gc-sections -Wl,-static" }
220
            description   "
221
                This option controls the global linker flags. Individual
222
                packages may define options which override these global flags."
223
        }
224
    }
225
 
226
    cdl_component CYGPKG_HAL_SPARCLITE_SLEB_OPTIONS {
227
        display "SPARClite MB8683x build options"
228
        flavor  none
229
        description   "
230
            Package specific build options including control over
231
            compiler flags used only in building this package,
232
            and details of which tests are built."
233
 
234
 
235
        cdl_option CYGPKG_HAL_SPARCLITE_SLEB_CFLAGS_ADD {
236
            display "Additional compiler flags"
237
            flavor  data
238
            no_define
239
            default_value { "" }
240
            description   "
241
                This option modifies the set of compiler flags for
242
                building the SPARClite MB8683x HAL. These flags are used in addition
243
                to the set of global flags."
244
        }
245
 
246
        cdl_option CYGPKG_HAL_SPARCLITE_SLEB_CFLAGS_REMOVE {
247
            display "Suppressed compiler flags"
248
            flavor  data
249
            no_define
250
            default_value { "" }
251
            description   "
252
                This option modifies the set of compiler flags for
253
                building the SPARClite MB8683x HAL. These flags are removed from
254
                the set of global flags if present."
255
        }
256
 
257
        cdl_option CYGPKG_HAL_SPARCLITE_SLEB_TESTS {
258
            display "SPARClite MB8683x tests"
259
            flavor  data
260
            no_define
261
            calculated { "tests/slebstak tests/slebintr tests/slebtime" }
262
            description   "
263
                This option specifies the set of tests for the SPARClite MB8683x HAL."
264
        }
265
    }
266
 
267
    cdl_component CYGHWR_MEMORY_LAYOUT {
268
        display "Memory layout"
269
        flavor data
270
        no_define
271
        calculated { CYG_HAL_STARTUP == "RAM" ? "sparclite_sleb_ram" : \
272
                                                "sparclite_sleb_rom" }
273
 
274
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
275
            display "Memory layout linker script fragment"
276
            flavor data
277
            no_define
278
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
279
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
280
                                                    "" }
281
        }
282
 
283
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
284
            display "Memory layout header file"
285
            flavor data
286
            no_define
287
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
288
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
289
                                                     "" }
290
        }
291
    }
292
}

powered by: WebSVN 2.1.0

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