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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [lpc2xxx/] [olpce2294/] [current/] [cdl/] [hal_arm_lpc2xxx_olpce2294.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_arm_lpc2xxx_olpce2294.cdl
4
#
5
#      ARM LPC2XXX OLPCE2294 development board package configuration
6
#      data
7
#
8
# ====================================================================
9
## ####ECOSGPLCOPYRIGHTBEGIN####
10
## -------------------------------------------
11
## This file is part of eCos, the Embedded Configurable Operating System.
12
## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
13
##
14
## eCos is free software; you can redistribute it and/or modify it under
15
## the terms of the GNU General Public License as published by the Free
16
## Software Foundation; either version 2 or (at your option) any later
17
## version.
18
##
19
## eCos is distributed in the hope that it will be useful, but WITHOUT
20
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
22
## for more details.
23
##
24
## You should have received a copy of the GNU General Public License
25
## along with eCos; if not, write to the Free Software Foundation, Inc.,
26
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
27
##
28
## As a special exception, if other files instantiate templates or use
29
## macros or inline functions from this file, or you compile this file
30
## and link it with other works to produce a work based on this file,
31
## this file does not by itself cause the resulting work to be covered by
32
## the GNU General Public License. However the source code for this file
33
## must still be made available in accordance with section (3) of the GNU
34
## General Public License v2.
35
##
36
## This exception does not invalidate any other reasons why a work based
37
## on this file might be covered by the GNU General Public License.
38
## -------------------------------------------
39
## ####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      Sergei Gavrikov
44
# Contributors:   Sergei Gavrikov
45
# Date:           2008-08-31
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCE2294 {
52
    display       "Olimex LPC-E2294 development board HAL"
53
    parent        CYGPKG_HAL_ARM_LPC2XXX
54
    define_header hal_arm_lpc2xxx_olpce2294.h
55
    include_dir   cyg/hal
56
    hardware
57
    description   "
58
        The OLPCE2294 HAL package provides the support needed to run
59
        eCos on Olimex LPC-E2294 development board."
60
 
61
    compile       olpce2294_misc.c
62
 
63
    requires      { CYGHWR_HAL_ARM_LPC2XXX == "LPC2294" }
64
 
65
    define_proc {
66
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
67
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
68
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
69
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"ARM7TDMI-S\""
70
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Olimex LPC-E2294 development board\""
71
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
72
    }
73
 
74
    cdl_component CYG_HAL_STARTUP {
75
        display       "Startup type"
76
        flavor        data
77
        default_value {"RAM"}
78
        legal_values  {"RAM" "ROM"}
79
        no_define
80
        define -file system.h CYG_HAL_STARTUP
81
        description   "Choose RAM or ROM startup type."
82
    }
83
 
84
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
85
        display      "Default console channel."
86
        flavor       data
87
        calculated   0
88
    }
89
 
90
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
91
        display      "Number of communication channels on the board"
92
        flavor       data
93
        calculated   3
94
        description "
95
            Channel 0: UART0, Channel 1: UART1, Channel 2: LCD."
96
    }
97
 
98
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
99
        display          "Debug serial port"
100
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
101
        flavor data
102
        legal_values     0 to 1
103
        default_value    0
104
        description      "
105
            Olimex LPC-E2294 board has two serial ports. This option
106
            chooses which port will be used to connect to a host
107
            running GDB."
108
     }
109
 
110
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
111
         display          "Diagnostic serial port"
112
         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
113
         flavor data
114
         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
115
         default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
116
         description      "
117
             Olimex LPC-E2294 board has two serial ports and a LCD. This
118
             option chooses which port will be used for diagnostic
119
             output."
120
     }
121
 
122
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
123
        display       "Diagnostic serial port baud rate"
124
        flavor        data
125
        legal_values  9600 19200 38400 57600 115200 230400
126
        default_value 38400
127
        description   "
128
            This option selects the baud rate used for the diagnostic
129
            port."
130
    }
131
 
132
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
133
         display       "GDB serial port baud rate"
134
         flavor        data
135
         legal_values  9600 19200 38400 57600 115200 230400
136
         default_value 38400
137
         description   "
138
             This option controls the baud rate used for the GDB
139
             connection."
140
    }
141
 
142
    # Real-time clock/counter specifics
143
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
144
        display       "CPU xtal frequency"
145
        flavor        data
146
        default_value {14745600}
147
    }
148
 
149
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
150
        display       "CPU PLL multiplier"
151
        flavor        data
152
        default_value {4}
153
    }
154
 
155
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
156
        display       "CPU clock speed"
157
        flavor        data
158
        calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL *
159
                     CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
160
    }
161
 
162
    cdl_component CYGBLD_GLOBAL_OPTIONS {
163
        display "Global build options"
164
        flavor  none
165
        parent  CYGPKG_NONE
166
        description   "
167
            Global build options including control over compiler flags,
168
            linker flags and choice of toolchain."
169
 
170
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
171
            display "Global command prefix"
172
            flavor  data
173
            no_define
174
            default_value { "arm-eabi" }
175
            description "
176
                This option specifies the command prefix used when
177
                invoking the build tools."
178
        }
179
 
180
        cdl_option CYGBLD_GLOBAL_CFLAGS {
181
            display "Global compiler flags"
182
            flavor  data
183
            no_define
184
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
185
                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
186
            description   "
187
                This option controls the global compiler flags which
188
                are used to compile all packages by default. Individual
189
                packages may define options which override these global
190
                flags."
191
        }
192
 
193
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
194
            display "Global linker flags"
195
            flavor  data
196
            no_define
197
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
198
            description   "
199
                This option controls the global linker flags. Individual
200
                packages may define options which override these global
201
                flags."
202
        }
203
    }
204
 
205
    cdl_option CYGSEM_HAL_ROM_MONITOR {
206
        display       "Behave as a ROM monitor"
207
        flavor        bool
208
        default_value 0
209
        parent        CYGPKG_HAL_ROM_MONITOR
210
        requires      { CYG_HAL_STARTUP == "ROM"}
211
        description   "
212
            Enable this option if this program is to be used as a
213
            ROM monitor, i.e. applications will be loaded into RAM on
214
            the board, and this ROM monitor may process exceptions or
215
            interrupts generated from the application. This enables
216
            features such as utilizing a separate interrupt stack when
217
            exceptions are generated."
218
    }
219
 
220
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
221
         display       "Work with a ROM monitor"
222
         flavor        booldata
223
         legal_values  { "Generic" "GDB_stubs" }
224
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
225
         parent        CYGPKG_HAL_ROM_MONITOR
226
         requires      { CYG_HAL_STARTUP == "RAM" }
227
         description   "
228
             Support can be enabled for different varieties of ROM
229
             monitor.  This support changes various eCos semantics such
230
             as the encoding of diagnostic output, or the overriding of
231
             hardware interrupt vectors.
232
             Firstly there is \"Generic\" support which prevents the
233
             HAL from overriding the hardware vectors that it does not
234
             use, to instead allow an installed ROM monitor to handle
235
             them. This is the most basic support which is likely to be
236
             common to most implementations of ROM monitor.
237
             \"GDB_stubs\" provides support when GDB stubs are included
238
             in the ROM monitor or boot ROM."
239
    }
240
 
241
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
242
        display       "Redboot HAL options"
243
        flavor        none
244
        no_define
245
        parent        CYGPKG_REDBOOT
246
        active_if     CYGPKG_REDBOOT
247
        description   "
248
            This option lists the target's requirements for a valid
249
            Redboot configuration."
250
 
251
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
252
            display       "Build Redboot ROM binary image"
253
            active_if     CYGBLD_BUILD_REDBOOT
254
            requires      { !CYGBLD_BUILD_REDBOOT_WITH_EXEC }
255
            default_value 1
256
            no_define
257
            description "
258
                This option enables the conversion of the Redboot ELF
259
                image to a binary image suitable for ROM programming."
260
 
261
            compile -library=libextras.a redboot_cmds.c
262
 
263
            make -priority 325 {
264
                /bin/redboot.bin : /bin/redboot.elf
265
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
266
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
267
                $(OBJCOPY) -O ihex $< $(@:.bin=.hex)
268
                $(OBJCOPY) -O binary $< $@
269
            }
270
 
271
        }
272
    }
273
 
274
    cdl_component CYGHWR_MEMORY_LAYOUT {
275
        display "Memory layout"
276
        flavor data
277
        no_define
278
        calculated { (CYG_HAL_STARTUP == "RAM") ? "arm_lpc2xxx_olpce2294_ram" :
279
                                                  "arm_lpc2xxx_olpce2294_rom" }
280
 
281
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
282
            display "Memory layout linker script fragment"
283
            flavor data
284
            no_define
285
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
286
            calculated { (CYG_HAL_STARTUP == "RAM") ?
287
                             "" :
288
                             "" }
289
        }
290
 
291
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
292
            display "Memory layout header file"
293
            flavor data
294
            no_define
295
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
296
            calculated { (CYG_HAL_STARTUP == "RAM") ?
297
                             "" :
298
                             "" }
299
        }
300
    }
301
}
302
 

powered by: WebSVN 2.1.0

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