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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [lpc2xxx/] [lpcmt/] [current/] [cdl/] [hal_arm_lpc2xxx_lpcmt.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_lpcmt.cdl
4
#
5
#      ARM LPC2XXX LPCMT 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, 2003, 2004 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):      jani
43
# Contributors:   gthomas, tkoeller, nickg
44
# Date:           2004-10-14
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_HAL_ARM_LPC2XXX_LPCMT {
51
    display       "Olimex LPCMT eval board HAL"
52
    parent        CYGPKG_HAL_ARM_LPC2XXX
53
    define_header hal_arm_lpc2xxx_lpcmt.h
54
    include_dir   cyg/hal
55
    hardware
56
    description   "
57
        The LPCMT HAL package provides the support needed to run
58
        eCos on an Olimex LPCMT eval board."
59
 
60
    compile       lpcmt_misc.c
61
 
62
    requires      { CYGHWR_HAL_ARM_LPC2XXX == "LPC210x" }
63
 
64
    define_proc {
65
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
66
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
67
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
68
        puts $::cdl_system_header "#define CYGBLD_HAL_ARM_VAR_IO_H"
69
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"ARM7TDMI-S\""
70
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Olimex LPC2XXX/LPCMT\""
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 {"ROM"}
78
        legal_values  {"ROM" "RAM"}
79
        no_define
80
        define -file system.h CYG_HAL_STARTUP
81
        description   "
82
            Chose ROM or RAM startup type."
83
    }
84
 
85
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
86
        display      "Number of communication channels on the board"
87
        flavor       data
88
        calculated   1
89
    }
90
 
91
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
92
        display          "Debug serial port"
93
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
94
        flavor data
95
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
96
        default_value    0
97
        description      "
98
            The LPCMT board has one serial port."
99
     }
100
 
101
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
102
         display          "Diagnostic serial port"
103
         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
104
         flavor data
105
         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
106
         default_value    0
107
         description      "
108
            The LPCMT board has one serial port."
109
     }
110
 
111
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
112
        display       "Diagnostic serial port baud rate"
113
        flavor        data
114
        legal_values  9600 19200 38400 57600 115200
115
        default_value 38400
116
        description   "
117
            This option selects the baud rate used for the diagnostic port."
118
    }
119
 
120
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
121
         display       "GDB serial port baud rate"
122
         flavor        data
123
         legal_values  9600 19200 38400 57600 115200
124
         default_value 38400
125
         description   "
126
            This option controls the baud rate used for the GDB connection."
127
     }
128
 
129
    # Real-time clock/counter specifics
130
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
131
        display       "CPU clock speed"
132
        flavor        data
133
        default_value {14745600}
134
    }
135
 
136
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
137
        display       "CPU clock speed"
138
        flavor        data
139
        default_value {4}
140
    }
141
 
142
    cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
143
        display       "CPU clock speed"
144
        flavor        data
145
        calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL * CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
146
    }
147
 
148
    cdl_component CYGBLD_GLOBAL_OPTIONS {
149
        display "Global build options"
150
        flavor  none
151
        parent  CYGPKG_NONE
152
        description   "
153
            Global build options including control over
154
            compiler flags, linker flags and choice of toolchain."
155
 
156
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
157
            display "Global command prefix"
158
            flavor  data
159
            no_define
160
            default_value { "arm-eabi"}
161
            description "
162
                This option specifies the command prefix used when
163
                invoking the build tools."
164
        }
165
 
166
        cdl_option CYGBLD_GLOBAL_CFLAGS {
167
            display "Global compiler flags"
168
            flavor  data
169
            no_define
170
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
171
                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
172
            description   "
173
                This option controls the global compiler flags which are used to
174
                compile all packages by default. Individual packages may define
175
                options which override these global flags."
176
        }
177
 
178
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
179
            display "Global linker flags"
180
            flavor  data
181
            no_define
182
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
183
            description   "
184
                This option controls the global linker flags. Individual
185
                packages may define options which override these global flags."
186
        }
187
    }
188
 
189
    cdl_option CYGSEM_HAL_ROM_MONITOR {
190
        display       "Behave as a ROM monitor"
191
        flavor        bool
192
        default_value 0
193
        parent        CYGPKG_HAL_ROM_MONITOR
194
        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
195
        description   "
196
            Enable this option if this program is to be used as a ROM monitor,
197
            i.e. applications will be loaded into RAM on the board, and this
198
            ROM monitor may process exceptions or interrupts generated from the
199
            application. This enables features such as utilizing a separate
200
            interrupt stack when exceptions are generated."
201
    }
202
 
203
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
204
         display       "Work with a ROM monitor"
205
         flavor        booldata
206
         legal_values  { "Generic" "GDB_stubs" }
207
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
208
         parent        CYGPKG_HAL_ROM_MONITOR
209
         requires      { CYG_HAL_STARTUP == "RAM" }
210
         description   "
211
             Support can be enabled for different varieties of ROM monitor.
212
             This support changes various eCos semantics such as the encoding
213
             of diagnostic output, or the overriding of hardware interrupt
214
             vectors.
215
             Firstly there is \"Generic\" support which prevents the HAL
216
             from overriding the hardware vectors that it does not use, to
217
             instead allow an installed ROM monitor to handle them. This is
218
             the most basic support which is likely to be common to most
219
             implementations of ROM monitor.
220
             \"GDB_stubs\" provides support when GDB stubs are included in
221
             the ROM monitor or boot ROM."
222
     }
223
 
224
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
225
        display       "Redboot HAL options"
226
        flavor        none
227
        no_define
228
        parent        CYGPKG_REDBOOT
229
        active_if     CYGPKG_REDBOOT
230
        description   "
231
            This option lists the target's requirements for a valid Redboot
232
            configuration."
233
 
234
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
235
            display       "Build Redboot ROM binary image"
236
            active_if     CYGBLD_BUILD_REDBOOT
237
            default_value 1
238
            no_define
239
            description "This option enables the conversion of the Redboot ELF
240
                         image to a binary image suitable for ROM programming."
241
 
242
            make -priority 325 {
243
                /bin/redboot.bin : /bin/redboot.elf
244
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
245
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
246
                $(OBJCOPY) -O binary $< $@
247
            }
248
 
249
        }
250
    }
251
 
252
    cdl_component CYGHWR_MEMORY_LAYOUT {
253
        display "Memory layout"
254
        flavor data
255
        no_define
256
        calculated { (CYG_HAL_STARTUP == "RAM") ? "arm_lpc2xxx_lpcmt_ram":
257
                                                  "arm_lpc2xxx_lpcmt_rom"}
258
 
259
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
260
            display "Memory layout linker script fragment"
261
            flavor data
262
            no_define
263
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
264
            calculated { (CYG_HAL_STARTUP == "RAM") ? "":
265
                                                      ""}
266
        }
267
 
268
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
269
            display "Memory layout header file"
270
            flavor data
271
            no_define
272
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
273
            calculated { (CYG_HAL_STARTUP == "RAM") ?
274
                                "":
275
                                ""}
276
        }
277
    }
278
}

powered by: WebSVN 2.1.0

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