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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [at91/] [eb40/] [current/] [cdl/] [hal_arm_at91_eb40.cdl] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_arm_at91_eb40.cdl
4
#
5
#      ARM AT91 EB40 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 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):      gthomas
43
# Contributors:   gthomas, tkoeller, nickg
44
# Date:           2001-07-12
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_HAL_ARM_AT91_EB40 {
51
    display       "Atmel EB40 eval board HAL"
52
    parent        CYGPKG_HAL_ARM_AT91
53
    define_header hal_arm_at91_eb40.h
54
    include_dir   cyg/hal
55
    hardware
56
    description   "
57
        The EB40 HAL package provides the support needed to run
58
        eCos on an Atmel EB40 eval board."
59
 
60
    compile       eb40_misc.c
61
 
62
    requires      { CYGHWR_HAL_ARM_AT91 == "R40807" }
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\""
70
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Atmel AT91/EB40\""
71
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
72
    }
73
 
74
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
75
        display       "Real-time clock constants"
76
        flavor        none
77
 
78
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
79
            display       "Real-time clock numerator"
80
            flavor        data
81
            default_value 1000000000
82
        }
83
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
84
            display       "Real-time clock denominator"
85
            flavor        data
86
            default_value 100
87
        }
88
        cdl_option CYGNUM_HAL_RTC_PERIOD {
89
            display       "Real-time clock period"
90
            flavor        data
91
            default_value ((CYGNUM_HAL_ARM_AT91_CLOCK_SPEED/32) / CYGNUM_HAL_RTC_DENOMINATOR)
92
        }
93
    }
94
 
95
    cdl_component CYG_HAL_STARTUP {
96
        display       "Startup type"
97
        flavor        data
98
        default_value {"RAM"}
99
        legal_values  {"RAM" "ROM" "ROMRAM"}
100
            no_define
101
            define -file system.h CYG_HAL_STARTUP
102
        description   "
103
            When targetting the AT91 EBxx eval board it is possible to build
104
            the system for either RAM bootstrap or ROM bootstrap(s). Select
105
            'ram' when building programs to load into RAM using onboard
106
            debug software such as Angel or eCos GDB stubs.  Select 'rom'
107
            when building a stand-alone application which will be put
108
            into ROM.  Using ROMRAM will allow the program to exist in
109
            ROM, but be copied to RAM during startup."
110
    }
111
 
112
    # Real-time clock/counter specifics
113
    cdl_option CYGNUM_HAL_ARM_AT91_CLOCK_SPEED {
114
        display       "CPU clock speed"
115
        flavor        data
116
        default_value 32768000
117
    }
118
 
119
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
120
        display      "Number of communication channels on the board"
121
        flavor       data
122
        calculated   2
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 AT91 EBxx board has two serial ports. This option
133
            chooses which port will be used to connect to a host
134
            running GDB."
135
     }
136
 
137
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
138
         display          "Diagnostic serial port"
139
         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
140
         flavor data
141
         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
142
         default_value    0
143
         description      "
144
            The AT91 EBxx board has two serial ports. This option
145
            chooses which port will be used for diagnostic output."
146
     }
147
 
148
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
149
        display       "Diagnostic serial port baud rate"
150
        flavor        data
151
        legal_values  9600 19200 38400 57600 115200
152
        default_value 38400
153
        description   "
154
            This option selects the baud rate used for the diagnostic port."
155
    }
156
 
157
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
158
         display       "GDB serial port baud rate"
159
         flavor        data
160
         legal_values  9600 19200 38400 57600 115200
161
         default_value 38400
162
         description   "
163
            This option controls the baud rate used for the GDB connection."
164
     }
165
 
166
 
167
    cdl_option CYGSEM_HAL_ROM_MONITOR {
168
        display       "Behave as a ROM monitor"
169
        flavor        bool
170
        default_value 0
171
        parent        CYGPKG_HAL_ROM_MONITOR
172
        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
173
        description   "
174
            Enable this option if this program is to be used as a ROM monitor,
175
            i.e. applications will be loaded into RAM on the board, and this
176
            ROM monitor may process exceptions or interrupts generated from the
177
            application. This enables features such as utilizing a separate
178
            interrupt stack when exceptions are generated."
179
    }
180
 
181
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
182
         display       "Work with a ROM monitor"
183
         flavor        booldata
184
         legal_values  { "Generic" "GDB_stubs" }
185
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
186
         parent        CYGPKG_HAL_ROM_MONITOR
187
         requires      { CYG_HAL_STARTUP == "RAM" }
188
         description   "
189
             Support can be enabled for different varieties of ROM monitor.
190
             This support changes various eCos semantics such as the encoding
191
             of diagnostic output, or the overriding of hardware interrupt
192
             vectors.
193
             Firstly there is \"Generic\" support which prevents the HAL
194
             from overriding the hardware vectors that it does not use, to
195
             instead allow an installed ROM monitor to handle them. This is
196
             the most basic support which is likely to be common to most
197
             implementations of ROM monitor.
198
             \"GDB_stubs\" provides support when GDB stubs are included in
199
             the ROM monitor or boot ROM."
200
    }
201
 
202
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
203
        display       "Redboot HAL options"
204
        flavor        none
205
        no_define
206
        parent        CYGPKG_REDBOOT
207
        active_if     CYGPKG_REDBOOT
208
        description   "
209
            This option lists the target's requirements for a valid Redboot
210
            configuration."
211
 
212
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
213
            display       "Build Redboot ROM binary image"
214
            active_if     CYGBLD_BUILD_REDBOOT
215
            default_value 1
216
            no_define
217
            description "This option enables the conversion of the Redboot ELF
218
                         image to a binary image suitable for ROM programming."
219
 
220
            make -priority 325 {
221
                /bin/redboot.bin : /bin/redboot.elf
222
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
223
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
224
                $(OBJCOPY) -O binary $< $@
225
            }
226
 
227
        }
228
    }
229
 
230
    cdl_component CYGBLD_GLOBAL_OPTIONS {
231
        display "Global build options"
232
        flavor  none
233
        parent  CYGPKG_NONE
234
        description   "
235
            Global build options including control over
236
            compiler flags, linker flags and choice of toolchain."
237
 
238
 
239
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
240
            display "Global command prefix"
241
            flavor  data
242
            no_define
243
            default_value { "arm-eabi"}
244
            description "
245
                This option specifies the command prefix used when
246
                invoking the build tools."
247
        }
248
 
249
        cdl_option CYGBLD_GLOBAL_CFLAGS {
250
            display "Global compiler flags"
251
            flavor  data
252
            no_define
253
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
254
                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
255
            description   "
256
                This option controls the global compiler flags which are used to
257
                compile all packages by default. Individual packages may define
258
                options which override these global flags."
259
        }
260
 
261
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
262
            display "Global linker flags"
263
            flavor  data
264
            no_define
265
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
266
            description   "
267
                This option controls the global linker flags. Individual
268
                packages may define options which override these global flags."
269
        }
270
    }
271
 
272
    cdl_component CYGHWR_MEMORY_LAYOUT {
273
        display "Memory layout"
274
        flavor data
275
        no_define
276
        calculated { (CYG_HAL_STARTUP == "RAM") ?    "arm_at91_eb40_ram" :
277
                     (CYG_HAL_STARTUP == "ROMRAM") ? "arm_at91_eb40_romram" :
278
                                                     "arm_at91_eb40_rom" }
279
 
280
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
281
            display "Memory layout linker script fragment"
282
            flavor data
283
            no_define
284
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
285
            calculated { (CYG_HAL_STARTUP == "RAM") ? "" :
286
                         (CYG_HAL_STARTUP == "ROMRAM") ? "" :
287
                                                      "" }
288
        }
289
 
290
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
291
            display "Memory layout header file"
292
            flavor data
293
            no_define
294
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
295
            calculated { (CYG_HAL_STARTUP == "RAM") ? "" :
296
                         (CYG_HAL_STARTUP == "ROMRAM") ? "" :
297
                                                      "" }
298
        }
299
    }
300
 
301
}

powered by: WebSVN 2.1.0

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