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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [mips/] [vrc4373/] [current/] [cdl/] [hal_mips_vr4300_vrc4373.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_mips_vr4300_vrc4373.cdl
4
#
5
#      VR4300/VRC4373 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):      nickg
43
# Contributors:
44
# Date:           1999-11-02
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_HAL_MIPS_VR4300_VRC4373 {
51
    display  "VRC4373 evaluation board"
52
    parent        CYGPKG_HAL_MIPS
53
    requires      CYGPKG_HAL_MIPS_VR4300
54
    requires      CYGPKG_HAL_MIPS_VR4300_VRC437X
55
    define_header hal_mips_vr4300_vrc4373.h
56
    include_dir   cyg/hal
57
    description   "
58
           The VRC4373 HAL package should be used when targetting the
59
           actual hardware."
60
 
61
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
62
 
63
    define_proc {
64
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
65
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
66
        puts $::cdl_header "#include "
67
    }
68
 
69
    cdl_component CYG_HAL_STARTUP {
70
        display       "Startup type"
71
        flavor        data
72
        legal_values  {"RAM" "ROM" "ROMRAM"}
73
        default_value {"RAM"}
74
        no_define
75
        define -file system.h CYG_HAL_STARTUP
76
        description   "
77
           When targetting the VRC4373 board it is possible to build
78
           the system for either RAM bootstrap or ROM bootstrap."
79
    }
80
 
81
    cdl_option CYGPKG_HAL_MIPS_MSBFIRST {
82
        display    "CPU big-endian"
83
        calculated { 1 }
84
    }
85
 
86
    # Real-time clock/counter specifics
87
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
88
        display       "Real-time clock constants."
89
        flavor        none
90
 
91
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
92
            display       "Real-time clock numerator"
93
            flavor        data
94
            default_value 1000000000
95
        }
96
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
97
            display       "Real-time clock denominator"
98
            flavor        data
99
            default_value 100
100
        }
101
        # Isn't a nice way to handle freq requirement!
102
        cdl_option CYGNUM_HAL_RTC_PERIOD {
103
            display       "Real-time clock period"
104
            flavor        data
105
            default_value 665000
106
        }
107
    }
108
 
109
    cdl_component CYGBLD_GLOBAL_OPTIONS {
110
        display "Global build options"
111
        flavor  none
112
        parent  CYGPKG_NONE
113
        description   "
114
            Global build options including control over
115
            compiler flags, linker flags and choice of toolchain."
116
 
117
 
118
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
119
            display "Global command prefix"
120
            flavor  data
121
            no_define
122
            default_value { "mips64vr4300-elf" }
123
            description "
124
                This option specifies the command prefix used when
125
                invoking the build tools."
126
        }
127
 
128
        cdl_option CYGBLD_GLOBAL_CFLAGS {
129
            display "Global compiler flags"
130
            flavor  data
131
            no_define
132
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-mgp32 -EB -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
133
            description   "
134
                This option controls the global compiler flags which
135
                are used to compile all packages by
136
                default. Individual packages may define
137
                options which override these global flags."
138
        }
139
 
140
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
141
            display "Global linker flags"
142
            flavor  data
143
            no_define
144
            default_value { "-mgp32 -EB -g -nostdlib -Wl,--gc-sections -Wl,-static" }
145
            description   "
146
                This option controls the global linker flags. Individual
147
                packages may define options which override these global flags."
148
        }
149
 
150
        cdl_option CYGBLD_BUILD_GDB_STUBS {
151
            display "Build GDB stub ROM image"
152
            default_value 0
153
            requires { CYG_HAL_STARTUP == "ROMRAM" }
154
            requires CYGSEM_HAL_ROM_MONITOR
155
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
156
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
157
            requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
158
            requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
159
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
160
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
161
            no_define
162
            description "
163
                This option enables the building of the GDB stubs for the
164
                board. The common HAL controls takes care of most of the
165
                build process, but the final conversion from ELF image to
166
                binary data is handled by the platform CDL, allowing
167
                relocation of the data if necessary."
168
 
169
            make -priority 320 {
170
                /bin/gdb_module.bin : /bin/gdb_module.img
171
                $(OBJCOPY) -O binary $< $@
172
            }
173
        }
174
    }
175
 
176
    cdl_component CYGHWR_MEMORY_LAYOUT {
177
        display "Memory layout"
178
        flavor data
179
        no_define
180
        calculated { CYG_HAL_STARTUP == "RAM" ? "mips_vr4300_vrc4373_ram" : \
181
                     CYG_HAL_STARTUP == "ROM" ? "mips_vr4300_vrc4373_rom" : \
182
                                                "mips_vr4300_vrc4373_romram" }
183
 
184
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
185
            display "Memory layout linker script fragment"
186
            flavor data
187
            no_define
188
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
189
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
190
                         CYG_HAL_STARTUP == "ROM" ? "" : \
191
                                                    "" }
192
        }
193
 
194
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
195
            display "Memory layout header file"
196
            flavor data
197
            no_define
198
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
199
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
200
                         CYG_HAL_STARTUP == "ROM" ? "" : \
201
                                                    "" }
202
        }
203
    }
204
 
205
   cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
206
        display       "Work with a ROM monitor"
207
        flavor        booldata
208
        legal_values  { "Generic" "GDB_stubs" "PMON" }
209
        default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
210
        parent        CYGPKG_HAL_ROM_MONITOR
211
        requires      { CYG_HAL_STARTUP == "RAM" }
212
        description   "
213
            Support can be enabled for three different varieties of ROM monitor.
214
            This support changes various eCos semantics such as the encoding
215
            of diagnostic output, or the overriding of hardware interrupt
216
            vectors.
217
            Firstly there is \"Generic\" support which prevents the HAL
218
            from overriding the hardware vectors that it does not use, to
219
            instead allow an installed ROM monitor to handle them. This is
220
            the most basic support which is likely to be common to most
221
            implementations of ROM monitor.
222
            \"GDB_stubs\" provides support when GDB stubs are included in
223
            the ROM monitor or boot ROM.
224
            And finally, \"PMON\" allows the program to co-operate with
225
            the PMON ROM monitor when fitted to the board."
226
    }
227
 
228
    cdl_option CYGSEM_HAL_ROM_MONITOR {
229
        display       "Behave as a ROM monitor"
230
        flavor        bool
231
        default_value 0
232
        parent        CYGPKG_HAL_ROM_MONITOR
233
        requires      { CYG_HAL_STARTUP == "ROMRAM" || CYG_HAL_STARTUP == "ROM" }
234
        description   "
235
            Enable this option if this program is to be used as a ROM monitor,
236
            i.e. applications will be loaded into RAM on the board, and this
237
            ROM monitor may process exceptions or interrupts generated from the
238
            application. This enables features such as utilizing a separate
239
            interrupt stack when exceptions are generated."
240
    }
241
 
242
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
243
        display       "Diagnostic serial port baud rate"
244
        flavor        data
245
        legal_values  9600 19200 38400 57600 115200
246
        default_value 38400
247
        description   "
248
            This option selects the baud rate used for the diagnostic port.
249
            Note: this should match the value chosen for the GDB port if the
250
            diagnostic and GDB port are the same."
251
    }
252
 
253
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
254
        display       "GDB serial port baud rate"
255
        flavor        data
256
        legal_values  9600 19200 38400 57600 115200
257
        default_value 38400
258
        description   "
259
            This option controls the baud rate used for the GDB connection."
260
    }
261
 
262
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
263
        display      "Number of communication channels on the board"
264
        flavor       data
265
        calculated   2
266
    }
267
 
268
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
269
        display          "Debug serial port"
270
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
271
        flavor data
272
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
273
        default_value    0
274
        description      "
275
           The VRC4373 board has only one serial port. This option
276
           chooses which port will be used to connect to a host
277
           running GDB."
278
    }
279
 
280
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
281
        display          "Diagnostic serial port"
282
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
283
        flavor data
284
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
285
        default_value    0
286
        description      "
287
           The VRC4373 board has only one serial port.  This option
288
           chooses which port will be used for diagnostic output."
289
     }
290
 
291
     cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
292
        display       "Redboot HAL options"
293
        flavor        none
294
        no_define
295
        parent        CYGPKG_REDBOOT
296
        active_if     CYGPKG_REDBOOT
297
        description   "
298
            This option lists the target's requirements for a valid Redboot
299
            configuration."
300
 
301
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
302
            display       "Build Redboot ROM binary image"
303
            active_if     CYGBLD_BUILD_REDBOOT
304
            default_value 1
305
            no_define
306
            description "This option enables the conversion of the Redboot ELF
307
                         image to a binary image suitable for ROM programming."
308
 
309
            compile -library=libextras.a
310
 
311
            make -priority 325 {
312
                /bin/redboot.srec : /bin/redboot.elf
313
                $(OBJCOPY) --strip-all $< $(@:.srec=.img)
314
                $(OBJCOPY) -O binary $< $(@:.srec=.bin)
315
                $(OBJCOPY) -O srec $< $@
316
            }
317
        }
318
    }
319
}

powered by: WebSVN 2.1.0

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