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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [at91/] [phycore/] [current/] [cdl/] [hal_arm_at91_phycore.cdl] - Blame information for rev 856

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_arm_at91_phycore.cdl
4
#
5
#      ARM AT91 phycore HAL package configuration data
6
#      running on a Phytec phycore AT91M55800A on a Phytec HDV200
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, 2003 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):      gthomas
44
# Contributors:   gthomas, tkoeller, tdrury, nickg, block
45
# Date:           2001-07-12
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_ARM_AT91_PHYCORE {
52
    display       "PHYTEC phyCore AT91M55800A eval board HAL"
53
    parent        CYGPKG_HAL_ARM_AT91
54
    define_header hal_arm_at91_phycore.h
55
    include_dir   cyg/hal
56
    hardware
57
    description   "
58
        The pyhcore HAL package provides the support needed to run
59
        eCos on an Phytec phyCORE - AT91M55800A eval board."
60
 
61
    compile       phycore_misc.c
62
 
63
    requires      { CYGHWR_HAL_ARM_AT91 == "M55800A" }
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\""
70
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"phyCORE AT91M55800A\""
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   3
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
    cdl_option CYGSEM_HAL_ROM_MONITOR {
167
        display       "Behave as a ROM monitor"
168
        flavor        bool
169
        default_value 0
170
        parent        CYGPKG_HAL_ROM_MONITOR
171
        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
172
        description   "
173
            Enable this option if this program is to be used as a ROM monitor,
174
            i.e. applications will be loaded into RAM on the board, and this
175
            ROM monitor may process exceptions or interrupts generated from the
176
            application. This enables features such as utilizing a separate
177
            interrupt stack when exceptions are generated."
178
    }
179
 
180
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
181
         display       "Work with a ROM monitor"
182
         flavor        booldata
183
         legal_values  { "Generic" "GDB_stubs" }
184
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
185
         parent        CYGPKG_HAL_ROM_MONITOR
186
         requires      { CYG_HAL_STARTUP == "RAM" }
187
         description   "
188
             Support can be enabled for different varieties of ROM monitor.
189
             This support changes various eCos semantics such as the encoding
190
             of diagnostic output, or the overriding of hardware interrupt
191
             vectors.
192
             Firstly there is \"Generic\" support which prevents the HAL
193
             from overriding the hardware vectors that it does not use, to
194
             instead allow an installed ROM monitor to handle them. This is
195
             the most basic support which is likely to be common to most
196
             implementations of ROM monitor.
197
             \"GDB_stubs\" provides support when GDB stubs are included in
198
             the ROM monitor or boot ROM."
199
     }
200
 
201
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
202
        display       "Redboot HAL options"
203
        flavor        none
204
        no_define
205
        parent        CYGPKG_REDBOOT
206
        active_if     CYGPKG_REDBOOT
207
        description   "
208
            This option lists the target's requirements for a valid Redboot
209
            configuration."
210
 
211
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
212
            display       "Build Redboot ROM binary image"
213
            active_if     CYGBLD_BUILD_REDBOOT
214
            default_value 1
215
            no_define
216
            description "This option enables the conversion of the Redboot ELF
217
                         image to a binary image suitable for ROM programming."
218
 
219
            make -priority 325 {
220
                /bin/redboot.bin : /bin/redboot.elf
221
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
222
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
223
                $(OBJCOPY) -O binary $< $@
224
            }
225
 
226
        }
227
    }
228
 
229
    cdl_component CYGBLD_GLOBAL_OPTIONS {
230
        display "Global build options"
231
        flavor  none
232
        parent  CYGPKG_NONE
233
        description   "
234
            Global build options including control over
235
            compiler flags, linker flags and choice of toolchain."
236
 
237
 
238
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
239
            display "Global command prefix"
240
            flavor  data
241
            no_define
242
            default_value { "arm-eabi"}
243
            description "
244
                This option specifies the command prefix used when
245
                invoking the build tools."
246
        }
247
 
248
        cdl_option CYGBLD_GLOBAL_CFLAGS {
249
            display "Global compiler flags"
250
            flavor  data
251
            no_define
252
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
253
                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
254
            description   "
255
                This option controls the global compiler flags which are used to
256
                compile all packages by default. Individual packages may define
257
                options which override these global flags."
258
        }
259
 
260
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
261
            display "Global linker flags"
262
            flavor  data
263
            no_define
264
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
265
            description   "
266
                This option controls the global linker flags. Individual
267
                packages may define options which override these global flags."
268
        }
269
    }
270
 
271
    cdl_component CYGHWR_MEMORY_LAYOUT {
272
        display "Memory layout"
273
        flavor data
274
        no_define
275
        calculated { (CYG_HAL_STARTUP == "RAM") ?    "arm_at91_phycore_ram" :
276
                     (CYG_HAL_STARTUP == "ROMRAM") ? "arm_at91_phycore_romram" :
277
                                                     "arm_at91_phycore_rom" }
278
 
279
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
280
            display "Memory layout linker script fragment"
281
            flavor data
282
            no_define
283
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
284
            calculated { (CYG_HAL_STARTUP == "RAM") ? "" :
285
                         (CYG_HAL_STARTUP == "ROMRAM") ? "" :
286
                                                      "" }
287
        }
288
 
289
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
290
            display "Memory layout header file"
291
            flavor data
292
            no_define
293
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
294
            calculated { (CYG_HAL_STARTUP == "RAM") ? "" :
295
                         (CYG_HAL_STARTUP == "ROMRAM") ? "" :
296
                                                      "" }
297
        }
298
    }
299
 
300
}

powered by: WebSVN 2.1.0

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