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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [xsengine/] [current/] [cdl/] [hal_arm_xscale_xsengine.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_xsengine.cdl
4
#
5
#      Exys XSEngine platform 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, 2005, 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:   hmt, gary thomas
44
# Date:           2001-12-03
45
#
46
#####DESCRIPTIONEND####
47
# ====================================================================
48
 
49
cdl_package CYGPKG_HAL_ARM_XSCALE_XSENGINE {
50
    display       "Exys XSEngine"
51
    parent        CYGPKG_HAL_ARM_XSCALE_PXA2X0
52
    hardware
53
    include_dir   cyg/hal
54
    define_header hal_arm_xscale_xsengine.h
55
    description   "
56
        This HAL platform package provides
57
        support for the Exys XSEngine CPU board."
58
 
59
    compile       xsengine_misc.c
60
 
61
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
62
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
63
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
64
    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
65
    implements    CYGHWR_HAL_ARM_PXA2X0_FFUART
66
    implements    CYGHWR_HAL_ARM_PXA2X0_BTUART
67
 
68
    define_proc {
69
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
70
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
71
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
72
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale PXA255\""
73
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Exys XSEngine\""
74
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
75
        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  532"
76
        puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0x00001f00"
77
    }
78
 
79
    cdl_component CYG_HAL_STARTUP {
80
        display       "Startup type"
81
        flavor        data
82
        default_value {"RAM"}
83
        legal_values  {"RAM" "ROM"}
84
        no_define
85
        define -file system.h CYG_HAL_STARTUP
86
        description   "
87
           When targeting the xsengine eval board it is possible to build
88
           the system for either RAM bootstrap or ROM bootstrap(s). Select
89
           'RAM' when building programs to load into RAM using onboard
90
           debug software such as Angel or eCos GDB stubs.  Select 'ROM'
91
           when building a stand-alone application which will be put
92
           into ROM."
93
    }
94
 
95
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
96
        display       "Diagnostic serial port baud rate"
97
        flavor        data
98
        legal_values  9600 19200 38400 57600 115200
99
        default_value 115200 ;
100
        description   "
101
            This option selects the baud rate used for the diagnostic port.
102
            Note: this should match the value chosen for the GDB port if the
103
            diagnostic and GDB port are the same."
104
    }
105
 
106
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
107
        display       "GDB serial port baud rate"
108
        flavor        data
109
        legal_values  9600 19200 38400 57600 115200
110
        default_value 115200 ;
111
        description   "
112
            This option selects the baud rate used for the diagnostic port.
113
            Note: this should match the value chosen for the GDB port if the
114
            diagnostic and GDB port are the same."
115
    }
116
 
117
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
118
        display      "Number of communication channels on the board"
119
        flavor       data
120
        calculated   2
121
        description "
122
            FFUART and BTUART are the serial ports on the board."
123
    }
124
 
125
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
126
        display          "Debug serial port"
127
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
128
        flavor data
129
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
130
        default_value    0
131
        description      "
132
            The XSEngine has two serial ports."
133
    }
134
 
135
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
136
        display      "Default console channel."
137
        flavor       data
138
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
139
        calculated   0
140
    }
141
 
142
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
143
        display          "Diagnostic serial port"
144
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
145
        flavor data
146
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
147
        default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
148
        description      "
149
            The XSEngine has only two serial ports."
150
    }
151
 
152
    cdl_component CYGBLD_GLOBAL_OPTIONS {
153
        display "Global build options"
154
        flavor  none
155
        no_define
156
        description   "
157
            Global build options including control over
158
            compiler flags, linker flags and choice of toolchain."
159
 
160
        parent  CYGPKG_NONE
161
 
162
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
163
            display "Global command prefix"
164
            flavor  data
165
            no_define
166
            default_value { "arm-eabi"}
167
            description "
168
                This option specifies the command prefix used when
169
                invoking the build tools."
170
        }
171
 
172
        cdl_option CYGBLD_GLOBAL_CFLAGS {
173
            display "Global compiler flags"
174
            flavor  data
175
            no_define
176
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
177
                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame -fno-builtin" }
178
            description   "
179
                This option controls the global compiler flags which are used to
180
                compile all packages by default. Individual packages may define
181
                options which override these global flags."
182
        }
183
 
184
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
185
            display "Global linker flags"
186
            flavor  data
187
            no_define
188
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
189
            description   "
190
                This option controls the global linker flags. Individual
191
                packages may define options which override these global flags."
192
        }
193
 
194
        cdl_option CYGBLD_BUILD_GDB_STUBS {
195
            display "Build GDB stub ROM image"
196
            default_value 0
197
            requires { CYG_HAL_STARTUP == "ROM" }
198
            requires CYGSEM_HAL_ROM_MONITOR
199
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
200
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
201
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
202
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
203
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
204
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
205
            no_define
206
            description "
207
                This option enables the building of the GDB stubs for the
208
                board. The common HAL controls takes care of most of the
209
                build process, but the final conversion from ELF image to
210
                binary data is handled by the platform CDL, allowing
211
                relocation of the data if necessary."
212
 
213
            make -priority 320 {
214
                /bin/gdb_module.bin : /bin/gdb_module.img
215
                $(OBJCOPY) --remove-section=.fixed_vectors -O binary $< $@
216
            }
217
        }
218
    }
219
 
220
    cdl_component CYGPKG_HAL_ARM_XSCALE_XSENGINE_OPTIONS {
221
        display "Exys XSEngine build options"
222
        flavor  none
223
        no_define
224
        description   "
225
            Package specific build options including control over
226
            compiler flags used only in building this package,
227
            and details of which tests are built."
228
 
229
        cdl_option CYGPKG_HAL_ARM_XSCALE_XSENGINE_CFLAGS_ADD {
230
            display "Additional compiler flags"
231
            flavor  data
232
            no_define
233
            default_value { "" }
234
            description   "
235
                This option modifies the set of compiler flags for
236
                building the XScale XSEngine HAL. These flags are used
237
                in addition to the set of global flags."
238
        }
239
 
240
        cdl_option CYGPKG_HAL_ARM_XSCALE_XSENGINE_CFLAGS_REMOVE {
241
            display "Suppressed compiler flags"
242
            flavor  data
243
            no_define
244
            default_value { "" }
245
            description   "
246
                This option modifies the set of compiler flags for
247
                building the XScale XSEngine HAL. These flags are
248
                removed from the set of global flags if present."
249
        }
250
 
251
        cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
252
            display       "Number of breakpoints supported by the HAL."
253
            flavor        data
254
            default_value 32
255
            description   "
256
                This option determines the number of breakpoints
257
                supported by the HAL."
258
        }
259
    }
260
 
261
    cdl_component CYGHWR_MEMORY_LAYOUT {
262
        display "Memory layout"
263
        flavor data
264
        no_define
265
        calculated { CYG_HAL_STARTUP == "RAM" ? "arm_xscale_xsengine_ram" : \
266
                     "arm_xscale_xsengine_rom"  }
267
 
268
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
269
            display "Memory layout linker script fragment"
270
            flavor data
271
            no_define
272
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
273
            calculated { CYG_HAL_STARTUP == "RAM" ? \
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
                         "" : \
285
                         "" }
286
        }
287
    }
288
 
289
    cdl_option CYGSEM_HAL_ROM_MONITOR {
290
        display       "Behave as a ROM monitor"
291
        flavor        bool
292
        default_value 0
293
        parent        CYGPKG_HAL_ROM_MONITOR
294
        requires      { CYG_HAL_STARTUP == "ROM"}
295
        description   "
296
            Enable this option if this program is to be used as a ROM monitor,
297
            i.e. applications will be loaded into RAM on the board, and this
298
            ROM monitor may process exceptions or interrupts generated from the
299
            application. This enables features such as utilizing a separate
300
            interrupt stack when exceptions are generated."
301
    }
302
 
303
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
304
         display       "Work with a ROM monitor"
305
         flavor        booldata
306
         legal_values  { "Generic" "GDB_stubs" }
307
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
308
         parent        CYGPKG_HAL_ROM_MONITOR
309
         requires      { CYG_HAL_STARTUP == "RAM" }
310
         description   "
311
             Support can be enabled for different varieties of ROM monitor.
312
             This support changes various eCos semantics such as the encoding
313
             of diagnostic output, or the overriding of hardware interrupt
314
             vectors.
315
             Firstly there is \"Generic\" support which prevents the HAL
316
             from overriding the hardware vectors that it does not use, to
317
             instead allow an installed ROM monitor to handle them. This is
318
             the most basic support which is likely to be common to most
319
             implementations of ROM monitor.
320
             \"GDB_stubs\" provides support when GDB stubs are included in
321
             the ROM monitor or boot ROM."
322
     }
323
 
324
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
325
        display       "Redboot HAL options"
326
        flavor        none
327
        no_define
328
        parent        CYGPKG_REDBOOT
329
        active_if     CYGPKG_REDBOOT
330
        description   "
331
            This option lists the target's requirements for a valid Redboot
332
            configuration."
333
 
334
        # compile -library=libextras.a redboot_cmds.c
335
 
336
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
337
            display       "Build Redboot ROM binary image"
338
            active_if     CYGBLD_BUILD_REDBOOT
339
            default_value 1
340
            no_define
341
            description "This option enables the conversion of the Redboot ELF
342
                         image to a binary image suitable for ROM programming."
343
 
344
        # compile -library=libextras.a redboot_cmds.c
345
 
346
        make -priority 325 {
347
                /bin/redboot.bin : /bin/redboot.elf
348
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
349
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
350
                $(OBJCOPY) -O binary $< $@
351
            }
352
        }
353
    }
354
 
355
}

powered by: WebSVN 2.1.0

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