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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [v85x/] [ceb_v850/] [current/] [cdl/] [hal_v85x_ceb_v850.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_v85x_v850_ceb.cdl
4
#
5
#      V850/CEB 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 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):      gthomas, jlarmour
43
# Original data:  bartv, jskov
44
# Contributors:
45
# Date:           2000-03-10
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_V85X_V850_CEB {
52
    display       "Cosmo CEB-V850 board"
53
    parent        CYGPKG_HAL_V85X
54
    requires      CYGPKG_HAL_V85X_V850
55
    define_header hal_v85x_v850_ceb.h
56
    include_dir   cyg/hal
57
    description   "
58
           The CEB-v850 HAL supports the CEB-V850 evaluation board fitted
59
           with a NEC V850/SA1 or NEC V850/SB1."
60
 
61
    compile  plf_misc.c plf_stub.c
62
 
63
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
64
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
65
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
66
    implements    CYGINT_HAL_V850_DIAG_ONCHIP_SERIAL0
67
 
68
    define_proc {
69
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
70
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
71
 
72
        puts $::cdl_header "#define CYGPRI_KERNEL_TESTS_DHRYSTONE_PASSES 20000"
73
    }
74
 
75
    cdl_option CYG_HAL_STARTUP {
76
        display       "Startup type"
77
        flavor        data
78
        legal_values  {"RAM" "ROM" "ROMRAM" }
79
        default_value {"RAM"}
80
        no_define
81
        define -file system.h CYG_HAL_STARTUP
82
        description   "
83
           When targetting the CEB board it is possible to build
84
           the system for either RAM bootstrap, ROM bootstrap, or ROMRAM
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. ROMRAM bootstrap is similar to ROM
91
           bootstrap, but everything is copied to RAM before execution
92
           starts thus improving performance, but at the cost of an
93
           increased RAM footprint."
94
    }
95
 
96
    cdl_option CYG_HAL_V85X_STARTUP_FLASH {
97
        display       "Build for on-chip FLASH"
98
        active_if     {CYG_HAL_STARTUP == "ROM"} || \
99
                      {CYG_HAL_STARTUP == "ROMRAM"}
100
        default_value 0
101
        description   "
102
           When building for ROM or ROMRAM startup, you can specify
103
           that you actually wish to target the internal FLASH rather
104
           than the external EPROM."
105
    }
106
 
107
   cdl_component CYGHWR_HAL_V85X_V850_VARIANT {
108
        display        "V850 variant"
109
        flavor         none
110
        no_define
111
        description "
112
            This component allows you to choose the V850 variant
113
            you have on your board."
114
 
115
        cdl_option CYGHWR_HAL_V85X_V850_VARIANT_SA1 {
116
            display       "SA1"
117
            default_value 1
118
            requires { 0 == CYGHWR_HAL_V85X_V850_VARIANT_SB1 }
119
            implements CYGINT_HAL_V850_VARIANT_SA1
120
            description "
121
                Choose this if you have the V850/SA1."
122
        }
123
 
124
        cdl_option CYGHWR_HAL_V85X_V850_VARIANT_SB1 {
125
            display       "SB1"
126
            default_value 0
127
            requires { 0 == CYGHWR_HAL_V85X_V850_VARIANT_SA1 }
128
            implements CYGINT_HAL_V850_VARIANT_SB1
129
            description "
130
                Choose this if you have the V850/SB1."
131
        }
132
   }
133
 
134
    cdl_option CYGHWR_HAL_V85X_CPU_FREQ {
135
        display       "CPU frequency in Hz"
136
        flavor        data
137
        legal_values  { 4194304 5000000 8000000 10000000 12580000 16000000 \
138
                        17000000 20000000 }
139
        default_value { CYGHWR_HAL_V85X_V850_VARIANT_SA1 ? 17000000 : 16000000 }
140
        description "
141
           This option contains the frequency of the board oscillator
142
           connected to the CPU, in Hertz.
143
           Choose the frequency to match the oscillator on your board.
144
           This may affect thing like serial device, interval clock and
145
           memory access speed settings."
146
    }
147
 
148
   cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
149
        display    "Number of communication channels on the board"
150
        flavor     data
151
#        calculated { CYGDBG_HAL_V85X_V850_ICE_DIAG ? 2 : 1 }
152
        calculated 1
153
   }
154
 
155
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
156
        display          "Debug serial port"
157
#        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
158
        flavor           data
159
        calculated       0
160
#        description      "
161
#            The CEB board has one serial port (channel 0), and a
162
#            communication channel for communicating with an ICE, if support
163
#            has been included (channel 1). This option chooses which port
164
#            will be used to connect to a host running GDB."
165
     }
166
 
167
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
168
         display          "Diagnostic serial port"
169
#         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
170
         flavor data
171
         calculated        0
172
#         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
173
#         default_value    0
174
#         description      "
175
#            The CEB board has one serial port (channel 0), and a
176
#            communication channel for communicating with an ICE, if support
177
#            has been included (channel 1). This option chooses which port
178
#            will be used for diagnostic output."
179
     }
180
 
181
   cdl_option CYGHWR_HAL_V85X_V850_DIAG_BAUD {
182
       display          "Diagnostic serial port baud rate"
183
       flavor data
184
       legal_values     1200 2400 4800 9600 19200 38400
185
       default_value    38400
186
       description      "
187
           This option selects the baud rate used for the diagnostic port."
188
   }
189
 
190
#   cdl_option CYGDBG_HAL_V85X_V850_ICE_DIAG {
191
#        display         "Enable diagnostic output channel via ICE"
192
#        flavor          bool
193
#        default_value   0
194
#        parent          CYGDBG_HAL_V850_ICE
195
#        description     "
196
#                This allows a channel to be made available to output
197
#                diagnostic output via the ICE, talking to a correctly
198
#                configured gdbserv process running on the host.
199
#                To make this channel the default, set
200
#                CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL to channel 1."
201
#   }
202
 
203
    # Real-time clock/counter specifics
204
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
205
        display       "Real-time clock constants."
206
        flavor        none
207
 
208
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
209
            display       "Real-time clock numerator"
210
            flavor        data
211
            default_value 1000000000
212
        }
213
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
214
            display       "Real-time clock denominator"
215
            flavor        data
216
            default_value 100
217
        }
218
        cdl_option CYGNUM_HAL_RTC_PERIOD {
219
            display       "Real-time clock period"
220
            flavor        data
221
            default_value { CYGHWR_HAL_V85X_CPU_FREQ / 400 }
222
        }
223
    }
224
 
225
    cdl_component CYGBLD_GLOBAL_OPTIONS {
226
        display "Global build options"
227
        flavor  none
228
        parent  CYGPKG_NONE
229
        no_define
230
        description   "
231
            Global build options including control over
232
            compiler flags, linker flags and choice of toolchain."
233
 
234
 
235
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
236
            display "Global command prefix"
237
            flavor  data
238
            no_define
239
            default_value { "v850-elf" }
240
            description "
241
                This option specifies the command prefix used when
242
                invoking the build tools."
243
        }
244
 
245
        cdl_option CYGBLD_GLOBAL_CFLAGS {
246
            display "Global compiler flags"
247
            flavor  data
248
            no_define
249
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-mv850 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
250
            description   "
251
                This option controls the global compiler flags which
252
                are used to compile all packages by
253
                default. Individual packages may define
254
                options which override these global flags."
255
        }
256
 
257
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
258
            display "Global linker flags"
259
            flavor  data
260
            no_define
261
            default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
262
            description   "
263
                This option controls the global linker flags. Individual
264
                packages may define options which override these global flags."
265
        }
266
 
267
        cdl_option CYGBLD_BUILD_GDB_STUBS {
268
            display "Build GDB stub ROM image"
269
            default_value 0
270
            requires { CYG_HAL_STARTUP == "ROM" }
271
            requires CYGSEM_HAL_ROM_MONITOR
272
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
273
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
274
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
275
            requires ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
276
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
277
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
278
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
279
            no_define
280
            description "
281
                This option enables the building of the GDB stubs for the
282
                board. The common HAL controls takes care of most of the
283
                build process, but the final conversion from ELF image to
284
                binary data is handled by the platform CDL, allowing
285
                relocation of the data if necessary."
286
 
287
            make -priority 320 {
288
                /bin/gdb_module.bin : /bin/gdb_module.img
289
                $(OBJCOPY) -O binary $< $@
290
            }
291
            make -priority 320 {
292
                /bin/gdb_module.sre : /bin/gdb_module.img
293
                $(OBJCOPY) -O srec $< $@
294
            }
295
        }
296
    }
297
 
298
    cdl_component CYGHWR_MEMORY_LAYOUT {
299
        display "Memory layout"
300
        flavor data
301
        no_define
302
        calculated { CYG_HAL_STARTUP == "RAM" ? "v85x_v850_ceb_ram" : \
303
                     CYG_HAL_STARTUP == "ROM" ? \
304
                     CYG_HAL_V85X_STARTUP_FLASH == 0 ? "v85x_v850_ceb_rom" : "v85x_v850_ceb_flash" : \
305
                     CYG_HAL_V85X_STARTUP_FLASH == 0 ? "v85x_v850_ceb_romram" : "v85x_v850_ceb_flashromram" }
306
 
307
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
308
            display "Memory layout linker script fragment"
309
            flavor data
310
            no_define
311
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
312
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
313
                         CYG_HAL_STARTUP == "ROM" ? \
314
                         CYG_HAL_V85X_STARTUP_FLASH == 0 ? "" : "" : \
315
                         CYG_HAL_V85X_STARTUP_FLASH == 0 ? "" : "" }
316
        }
317
 
318
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
319
            display "Memory layout header file"
320
            flavor data
321
            no_define
322
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
323
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
324
                         CYG_HAL_STARTUP == "ROM" ? \
325
                         CYG_HAL_V85X_STARTUP_FLASH == 0 ? "" : "" : \
326
                         CYG_HAL_V85X_STARTUP_FLASH == 0 ? "" : "" }
327
        }
328
    }
329
 
330
   cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
331
        display       "Work with a ROM monitor"
332
        flavor        booldata
333
        legal_values  { "Generic" "GDB_stubs" }
334
        default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
335
        parent        CYGPKG_HAL_ROM_MONITOR
336
        requires      { CYG_HAL_STARTUP == "RAM" }
337
        description   "
338
            Support can be enabled for three different varieties of ROM monitor.
339
            This support changes various eCos semantics such as the encoding
340
            of diagnostic output, or the overriding of hardware interrupt
341
            vectors.
342
            Firstly there is \"Generic\" support which prevents the HAL
343
            from overriding the hardware vectors that it does not use, to
344
            instead allow an installed ROM monitor to handle them. This is
345
            the most basic support which is likely to be common to most
346
            implementations of ROM monitor.
347
            \"GDB_stubs\" provides support when GDB stubs are included in
348
            the ROM monitor or boot ROM."
349
    }
350
 
351
    cdl_option CYGSEM_HAL_ROM_MONITOR {
352
        display       "Behave as a ROM monitor"
353
        flavor        bool
354
        default_value 0
355
        parent        CYGPKG_HAL_ROM_MONITOR
356
        requires      { CYG_HAL_STARTUP == "ROM" }
357
        description   "
358
            Enable this option if this program is to be used as a ROM monitor,
359
            i.e. applications will be loaded into RAM on the board, and this
360
            ROM monitor may process exceptions or interrupts generated from the
361
            application. This enables features such as utilizing a separate
362
            interrupt stack when exceptions are generated."
363
    }
364
}

powered by: WebSVN 2.1.0

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