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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [powerpc/] [ec555/] [current/] [cdl/] [hal_powerpc_ec555.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_powerpc_cme555.cdl
4
#
5
#      PowerPC/cme555 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):      Bob Koninckx
43
# Original data:  bartv
44
# Contributors:
45
# Date:           1999-11-02
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_POWERPC_EC555 {
52
    display       "EC555 MPC555 development board"
53
    parent        CYGPKG_HAL_POWERPC
54
    requires      CYGPKG_HAL_POWERPC_MPC5xx
55
    define_header hal_powerpc_ec555.h
56
    include_dir   cyg/hal
57
    description   "
58
        The EC555 HAL package provides the support needed to run
59
        eCos on an EC555 development board from Wuerz elektronik."
60
 
61
    compile       hal_diag.c plf_misc.c ec555.S 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_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
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
 
73
    cdl_component CYG_HAL_STARTUP {
74
        display       "Startup type"
75
        flavor        data
76
        legal_values  {"RAM" "ROM"}
77
        default_value {"RAM"}
78
        no_define
79
        define -file system.h CYG_HAL_STARTUP
80
        description   "
81
           When targetting the ec555 board it is possible to build
82
           the system for either RAM bootstrap or ROM bootstrap. RAM
83
           bootstrap generally requires that the board
84
           is equipped with ROMs containing a suitable ROM monitor or
85
           equivalent software that allows GDB to download the eCos
86
           application on to the board. The ROM bootstrap typically
87
           requires that the eCos application be blown into EPROMs or
88
           equivalent technology."
89
    }
90
 
91
        cdl_option CYGHWR_HAL_EC555_BOARD_VARIANT {
92
            display       "Board type"
93
                flavor        data
94
                legal_values  {"F02_S01" "F04_S02" "F08_S04" "F08_S08"}
95
                default_value {"F02_S01"}
96
                description   "
97
                   The ec555 board comes in four different flavours, 2MB flash-1MB RAM,
98
                   4MB flash-2MB RAM, 8MB flash-4MB RAM and 8MB flash-8MB RAM. This option
99
                   selects the board variant."
100
    }
101
 
102
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
103
        display      "Number of communication channels on the board"
104
        flavor       data
105
        calculated   2
106
        description      "
107
            Channel 0: Serial A, Channel 1: Serial B"
108
    }
109
 
110
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
111
        display          "Debug serial port"
112
        flavor data
113
        legal_values     0 to 1
114
        default_value    0
115
        description      "
116
           The ec555 board has two serial ports. This option
117
           chooses which port will be used to connect to a host
118
           running GDB."
119
    }
120
 
121
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
122
        display          "Diagnostic serial port"
123
        flavor data
124
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
125
        default_value    1
126
        description      "
127
           The ec555 board has two serial ports.  This option
128
           chooses which port will be used for diagnostic output."
129
    }
130
 
131
    cdl_option CYGHWR_HAL_POWERPC_BOARD_SPEED {
132
        display          "Development board clock speed (MHz)"
133
        flavor           data
134
        default_value    40
135
        description      "
136
             The development boards is fitted with a 4MHz crystal. This frequency
137
             is internally boosted to maximum 40MHz. The value is fixed to the
138
             maximum."
139
    }
140
 
141
    cdl_option CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_LOW {
142
        display          "Force vector base at address 0x0000 0000"
143
        flavor           bool
144
        calculated       1
145
        description      "
146
             The powerpc architecture allows the vectorbase to live at either
147
             0x0000 0000 or 0xfff0 0000. Since the CME-555 has no memory at the
148
             high addresses, vectors may never be located at 0xfff0 0000 for this
149
             board. They can be still be copied though if the internal flash is
150
             disabled and relocated to somewhere else"
151
    }
152
 
153
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
154
        display          "Baud rate for serial ports"
155
        flavor           data
156
        legal_values     300 600 1200 2400 4800 9600 14400 19200 28800 38400 57600 115200
157
        default_value    38400
158
        description      "
159
             This option determines the baud rate that will be used on both the console
160
             cannel and the debug channel."
161
    }
162
 
163
    # Real-time clock/counter specifics
164
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
165
        display       "Real-time clock constants."
166
        description   "
167
            Period is busclock/16/100."
168
        flavor        none
169
 
170
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
171
            display       "Real-time clock numerator"
172
            flavor        data
173
            default_value 1000000000
174
        }
175
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
176
            display       "Real-time clock denominator"
177
            flavor        data
178
            default_value 100
179
        }
180
        cdl_option CYGNUM_HAL_RTC_PERIOD {
181
            display       "Real-time clock period"
182
            flavor        data
183
            default_value { (((CYGHWR_HAL_POWERPC_BOARD_SPEED*1000000)/16)/CYGNUM_HAL_RTC_DENOMINATOR) }
184
        }
185
    }
186
 
187
    cdl_component CYGBLD_GLOBAL_OPTIONS {
188
        display "Global build options"
189
        flavor  none
190
        parent  CYGPKG_NONE
191
        description   "
192
            Global build options including control over
193
            compiler flags, linker flags and choice of toolchain."
194
 
195
 
196
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
197
            display "Global command prefix"
198
            flavor  data
199
            no_define
200
            default_value { "powerpc-eabi" }
201
            description "
202
                This option specifies the command prefix used when
203
                invoking the build tools."
204
        }
205
 
206
        cdl_option CYGBLD_GLOBAL_CFLAGS {
207
            display "Global compiler flags"
208
            flavor  data
209
            no_define
210
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-mcpu=505 -g -O2 -ffunction-sections -fdata-sections -mmultiple -fno-rtti -fno-exceptions " }
211
            description   "
212
                This option controls the global compiler flags which
213
                are used to compile all packages by
214
                default. Individual packages may define
215
                options which override these global flags."
216
        }
217
 
218
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
219
            display "Global linker flags"
220
            flavor  data
221
            no_define
222
            default_value { "-mcpu=505 -g -nostdlib -Wl,--gc-sections -Wl,-static" }
223
            description   "
224
                This option controls the global linker flags. Individual
225
                packages may define options which override these global flags."
226
        }
227
 
228
        cdl_option CYGBLD_BUILD_GDB_STUBS {
229
            display "Build GDB stub ROM image"
230
            default_value 0
231
            requires { CYG_HAL_STARTUP == "ROM" }
232
            requires CYGSEM_HAL_ROM_MONITOR
233
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
234
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
235
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
236
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
237
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
238
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
239
            no_define
240
            description "
241
                This option enables the building of the GDB stubs for the
242
                board. The common HAL controls takes care of most of the
243
                build process, but the final conversion from ELF image to
244
                binary data is handled by the platform CDL, allowing
245
                relocation of the data if necessary."
246
 
247
            make -priority 320 {
248
                /bin/gdb_module.bin : /bin/gdb_module.img
249
                $(OBJCOPY) -O binary $< $@
250
            }
251
        }
252
    }
253
 
254
    cdl_component CYGHWR_MEMORY_LAYOUT {
255
        display "Memory layout"
256
        flavor data
257
        no_define
258
        calculated { CYG_HAL_STARTUP == "RAM" ? "powerpc_ec555_ram" : \
259
                                                "powerpc_ec555_rom" }
260
 
261
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
262
            display "Memory layout linker script fragment"
263
            flavor data
264
            no_define
265
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
266
                        calculated { CYG_HAL_STARTUP == "RAM" ? \
267
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F02_S01" ? "" : \
268
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F04_S02" ? "" : \
269
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F08_S04" ? "" : \
270
                                                                                                 "" : \
271
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F02_S01" ? "" : \
272
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F04_S02" ? "" : \
273
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F08_S04" ? "" : \
274
                                                                         ""
275
            }
276
        }
277
 
278
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
279
            display "Memory layout header file"
280
            flavor data
281
            no_define
282
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
283
                        calculated { CYG_HAL_STARTUP == "RAM" ? \
284
                                       CYGHWR_HAL_EC555_BOARD_VARIANT == "F02_S01" ? "" : \
285
                               CYGHWR_HAL_EC555_BOARD_VARIANT == "F04_S02" ? "" : \
286
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F08_S04" ? "" : \
287
                                                                         "" : \
288
                           CYGHWR_HAL_EC555_BOARD_VARIANT == "F02_S01" ? "" : \
289
                               CYGHWR_HAL_EC555_BOARD_VARIANT == "F04_S02" ? "" : \
290
                               CYGHWR_HAL_EC555_BOARD_VARIANT == "F08_S04" ? "" : \
291
                                                                         ""
292
            }
293
        }
294
    }
295
 
296
    cdl_option CYGSEM_HAL_ROM_MONITOR {
297
        display       "Behave as a ROM monitor"
298
        flavor        bool
299
        default_value 0
300
        parent        CYGPKG_HAL_ROM_MONITOR
301
        requires      { CYG_HAL_STARTUP == "ROM" }
302
        description   "
303
            Enable this option if this program is to be used as a ROM monitor,
304
            i.e. applications will be loaded into RAM on the board, and this
305
            ROM monitor may process exceptions or interrupts generated from the
306
            application. This enables features such as utilizing a separate
307
            interrupt stack when exceptions are generated."
308
    }
309
}

powered by: WebSVN 2.1.0

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