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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [ixdp425/] [current/] [cdl/] [hal_arm_xscale_ixdp425.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_arm_xscale_ixdp425.cdl
4
#
5
#      Intel XScale IXDP425 Network Processor Eval Board HAL package
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, 2009 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):      msalter
43
# Contributors:   msalter
44
# Date:           2002-12-10
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
cdl_package CYGPKG_HAL_ARM_XSCALE_IXDP425 {
50
    display       "Intel XScale IXDP425 Network Processor Development Platform"
51
    parent        CYGPKG_HAL_ARM_XSCALE_IXP425
52
    implements    CYGINT_HAL_ARM_BIGENDIAN
53
    hardware
54
    include_dir   cyg/hal
55
    define_header hal_arm_xscale_ixdp425.h
56
    description   "
57
        This HAL platform package provides support for
58
        the Intel XScale IXDP425 board."
59
 
60
    compile       ixdp425_misc.c ixdp425_pci.c
61
 
62
    define_proc {
63
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
64
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
65
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
66
        puts $::cdl_header "#define CYGBLD_HAL_PLF_INTS_H "
67
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
68
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"IXDP425 Development Platform\""
69
        puts $::cdl_header "#ifdef CYGHWR_HAL_ARM_BIGENDIAN"
70
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"BE\""
71
        puts $::cdl_header "#else"
72
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"LE\""
73
        puts $::cdl_header "#endif"
74
        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  245"
75
    }
76
 
77
    cdl_component CYG_HAL_STARTUP {
78
        display       "Startup type"
79
        flavor        data
80
        default_value {"RAM"}
81
        legal_values  {"RAM" "ROM" "ROMRAM" }
82
        no_define
83
        define -file system.h CYG_HAL_STARTUP
84
        description   "
85
           When targeting the IXDP425 eval board it is possible to build
86
           the system for either RAM bootstrap or ROM bootstrap(s). Select
87
           'ram' when building programs to load into RAM using onboard
88
           debug software such as RedBoot or eCos GDB stubs. Select 'romram'
89
           when building a stand-alone application which will be put
90
           into ROM, but execute from RAM."
91
    }
92
 
93
    cdl_option CYGHWR_HAL_ARM_XSCALE_IXDP425_FLASH {
94
        display         "External Intel StrataFLASH memory support"
95
        parent          CYGPKG_IO_FLASH
96
        active_if       CYGPKG_IO_FLASH
97
        flavor          bool
98
        default_value   1
99
        no_define
100
        implements      CYGHWR_IO_FLASH_BLOCK_LOCKING
101
        compile         -library=libextras.a ixdp425_strataflash.c
102
        description "
103
            The IXDP425 development board is fitted with an external Intel
104
            StrataFLASH 28F128J3 FLASH memory device. This option enables
105
            support for the StrataFlash."
106
    }
107
 
108
    cdl_component CYGBLD_GLOBAL_OPTIONS {
109
        display "Global build options"
110
        flavor  none
111
        no_define
112
        description   "
113
            Global build options including control over
114
            compiler flags, linker flags and choice of toolchain."
115
 
116
        parent  CYGPKG_NONE
117
 
118
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
119
            display "Global command prefix"
120
            flavor  data
121
            no_define
122
            default_value { "arm-eabi"}
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 . CYGBLD_ARCH_CFLAGS .
133
                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
134
            description   "
135
                This option controls the global compiler flags which are used to
136
                compile all packages by 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 { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
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 == "ROM" || 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) --remove-section=.fixed_vectors -O binary $< $@
172
            }
173
        }
174
    }
175
 
176
    cdl_component CYGPKG_HAL_ARM_XSCALE_IXDP425_OPTIONS {
177
        display "Intel XScale Ixdp425 build options"
178
        flavor  none
179
        no_define
180
        description   "
181
            Package specific build options including control over
182
            compiler flags used only in building this package,
183
            and details of which tests are built."
184
 
185
        cdl_option CYGPKG_HAL_ARM_XSCALE_IXDP425_CFLAGS_ADD {
186
            display "Additional compiler flags"
187
            flavor  data
188
            no_define
189
            default_value { "" }
190
            description   "
191
                This option modifies the set of compiler flags for
192
                building the XScale Ixdp425 HAL. These flags are used in addition
193
                to the set of global flags."
194
        }
195
 
196
        cdl_option CYGPKG_HAL_ARM_XSCALE_IXDP425_CFLAGS_REMOVE {
197
            display "Suppressed compiler flags"
198
            flavor  data
199
            no_define
200
            default_value { "" }
201
            description   "
202
                This option modifies the set of compiler flags for
203
                building the XScale Ixdp425 HAL. These flags are removed from
204
                the set of global flags if present."
205
        }
206
 
207
        cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
208
            display       "Number of breakpoints supported by the HAL."
209
            flavor        data
210
            default_value 32
211
            description   "
212
                This option determines the number of breakpoints supported by the HAL."
213
        }
214
    }
215
 
216
    cdl_option CYGSEM_HAL_IXP425_PLF_USES_UART1 {
217
        display       "IXDP425 uses IXP425 high-speed UART"
218
        flavor        bool
219
        default_value 1
220
        description   "
221
            Enable this option if the IXP425 high-speed UART is used
222
            as a virtual vector communications channel."
223
    }
224
 
225
    cdl_option CYGSEM_HAL_IXP425_PLF_USES_UART2 {
226
        display       "IXDP425 uses IXP425 console UART"
227
        flavor        bool
228
        default_value 1
229
        description   "
230
            Enable this option if the IXP425 console UART is to be used
231
            as a virtual vector communications channel."
232
    }
233
 
234
    cdl_component CYGHWR_MEMORY_LAYOUT {
235
        display "Memory layout"
236
        flavor data
237
        no_define
238
        calculated { CYG_HAL_STARTUP == "RAM" ? "arm_xscale_ixdp425_ram" : \
239
                     CYG_HAL_STARTUP == "ROM" ? "arm_xscale_ixdp425_rom" : \
240
                                        "arm_xscale_ixdp425_romram" }
241
 
242
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
243
            display "Memory layout linker script fragment"
244
            flavor data
245
            no_define
246
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
247
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
248
                         CYG_HAL_STARTUP == "ROM" ? "" : \
249
                                                    "" }
250
        }
251
 
252
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
253
            display "Memory layout header file"
254
            flavor data
255
            no_define
256
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
257
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
258
                         CYG_HAL_STARTUP == "ROM" ? "" : \
259
                                                    "" }
260
        }
261
    }
262
 
263
    cdl_option CYGSEM_HAL_ROM_MONITOR {
264
        display       "Behave as a ROM monitor"
265
        flavor        bool
266
        default_value 0
267
        parent        CYGPKG_HAL_ROM_MONITOR
268
        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
269
        description   "
270
            Enable this option if this program is to be used as a ROM monitor,
271
            i.e. applications will be loaded into RAM on the board, and this
272
            ROM monitor may process exceptions or interrupts generated from the
273
            application. This enables features such as utilizing a separate
274
            interrupt stack when exceptions are generated."
275
    }
276
 
277
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
278
         display       "Work with a ROM monitor"
279
         flavor        booldata
280
         legal_values  { "Generic" "GDB_stubs" }
281
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
282
         parent        CYGPKG_HAL_ROM_MONITOR
283
         requires      { CYG_HAL_STARTUP == "RAM" }
284
         description   "
285
             Support can be enabled for different varieties of ROM monitor.
286
             This support changes various eCos semantics such as the encoding
287
             of diagnostic output, or the overriding of hardware interrupt
288
             vectors.
289
             Firstly there is \"Generic\" support which prevents the HAL
290
             from overriding the hardware vectors that it does not use, to
291
             instead allow an installed ROM monitor to handle them. This is
292
             the most basic support which is likely to be common to most
293
             implementations of ROM monitor.
294
             \"GDB_stubs\" provides support when GDB stubs are included in
295
             the ROM monitor or boot ROM."
296
     }
297
 
298
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
299
        display       "Redboot HAL options"
300
        flavor        none
301
        no_define
302
        parent        CYGPKG_REDBOOT
303
        active_if     CYGPKG_REDBOOT
304
        description   "
305
            This option lists the target's requirements for a valid Redboot
306
            configuration."
307
 
308
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
309
            display       "Build Redboot ROM binary image"
310
            active_if     CYGBLD_BUILD_REDBOOT
311
            default_value 1
312
            no_define
313
            description "This option enables the conversion of the Redboot ELF
314
                         image to a binary image suitable for ROM programming."
315
 
316
            make -priority 325 {
317
                /bin/redboot.bin : /bin/redboot.elf
318
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
319
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
320
                $(OBJCOPY) -O binary $< $@
321
            }
322
        }
323
    }
324
}

powered by: WebSVN 2.1.0

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