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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [cortexm/] [lm3s/] [lm3s8xx/] [current/] [cdl/] [hal_cortexm_lm3s8xx.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
##==========================================================================
2
##
3
##    hal_cortexm_lm8xx.cdl
4
##
5
##    Stellaris Cortex-M3 800 Series variant HAL configuration data
6
##
7
##==========================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2011 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):    ccoutand
43
## Date:         2011-01-18
44
##
45
######DESCRIPTIONEND####
46
##
47
##==========================================================================
48
 
49
cdl_package CYGPKG_HAL_CORTEXM_LM3S8XX {
50
    display       "Stellaris Cortex-M3 800 Series"
51
    parent        CYGPKG_HAL_CORTEXM
52
    include_dir   cyg/hal
53
    define_header hal_cortexm_lm3s8xx.h
54
    hardware
55
    description   "
56
        This package provides generic support for the Cortex-M3 based
57
        Stellaris LM 800 Series microcontroller family.  It is also
58
        necessary to select a variant and platform HAL package."
59
 
60
    compile       lm3s8xx_misc.c
61
 
62
    implements    CYGINT_DEVS_I2C_LM3S8XX_BUS_DEVICES
63
 
64
    requires      { CYGHWR_HAL_CORTEXM_LM3S == "LM3S8XX" }
65
 
66
    define_proc {
67
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
68
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
69
        puts $::cdl_system_header "#define CYGBLD_HAL_CORTEXM_VAR_IO_H"
70
    }
71
 
72
    cdl_option CYGHWR_HAL_CORTEXM_LM3S8XX {
73
        display       "Stellaris LM 800 Series variant in use"
74
        flavor        data
75
        default_value { "LM3S811" }
76
        legal_values  { "LM3S828" "LM3S818" "LM3S817"
77
                        "LM3S815" "LM3S812" "LM3S811"
78
                        "LM3S808" "LM3S801" "LM3S800" }
79
        description   "
80
               The Stellaris 800 Series has several variants, the main
81
               difference being the numbers of some peripherals"
82
    }
83
 
84
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
85
        display       "Real-time clock constants"
86
        flavor        none
87
        no_define
88
 
89
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
90
            display       "Real-time clock numerator"
91
            flavor        data
92
            default_value 1000000000
93
        }
94
 
95
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
96
            display       "Real-time clock denominator"
97
            flavor        data
98
            default_value 100
99
        }
100
 
101
        cdl_option CYGNUM_HAL_RTC_PERIOD {
102
            display       "Real-time clock period"
103
            flavor        data
104
            default_value 1000000 / CYGNUM_HAL_RTC_DENOMINATOR
105
        }
106
    }
107
 
108
    cdl_component CYG_HAL_STARTUP {
109
        display       "Startup type"
110
        flavor        data
111
        default_value { "ROM" }
112
        legal_values  { "ROM" }
113
        no_define
114
        define -file system.h CYG_HAL_STARTUP
115
        description   "
116
            With its 8KB of SRAM, the 800 Series devices only allows
117
            ROM startup."
118
    }
119
 
120
    cdl_component CYGHWR_MEMORY_LAYOUT {
121
        display          "Memory layout"
122
        flavor data
123
        no_define
124
        calculated       { (CYG_HAL_STARTUP == "ROM") ? \
125
                           "cortexm_lm3s8xx_rom" : "undefined" }
126
 
127
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
128
            display       "Memory layout linker script fragment"
129
            flavor        data
130
            no_define
131
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
132
            calculated    { "" }
133
        }
134
 
135
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
136
            display       "Memory layout header file"
137
            flavor        data
138
            no_define
139
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
140
            calculated    { "" }
141
        }
142
    }
143
 
144
    cdl_component CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK {
145
        display       "Clocking"
146
        flavor        none
147
        requires      { CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_EXT || \
148
                        CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_INT }
149
 
150
        cdl_component CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_EXT {
151
            display      "External clock source"
152
            active_if     ! CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_INT
153
            flavor        bool
154
            default_value 1
155
 
156
            cdl_option CYGNUM_HAL_CORTEXM_LM3S8XX_XTAL_FREQ {
157
                display       "Crystal frequency in Hz"
158
                flavor        data
159
                default_value 8000000
160
                legal_values  { 1000000 to 8192000 }
161
                description   "
162
                    Select the external crystal frequency from 1 to
163
                    8.192 MHz.  Selecting the internal PLL adds additional
164
                    constraints to the external crystal frequency setting.
165
                    Check-out CYGHWR_HAL_CORTEXM_LM3S8XX_PLL"
166
            }
167
        }
168
 
169
        cdl_component CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_INT {
170
            display       "Internal clock source"
171
            active_if     ! CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_EXT
172
            flavor        bool
173
            default_value 0
174
 
175
            cdl_option CYGNUM_HAL_CORTEXM_LM3S8XX_CLOCK_INT_FREQ {
176
                display       "Internal clock source frequency in Hz"
177
                flavor        data
178
                default_value 12000000
179
                legal_values  { 12000000 3000000 }
180
                description   "
181
                    Select the internal clock source. The frequency of the
182
                    internal clock source can either be 12MHz or 3MHz."
183
            }
184
        }
185
 
186
        cdl_component CYGHWR_HAL_CORTEXM_LM3S8XX_PLL {
187
            display       "Enable PLL"
188
            flavor         bool
189
            default_value  1
190
            active_if      CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_EXT
191
 
192
            cdl_option CYGHWR_HAL_CORTEXM_LM3S8XX_PLL_INPUT {
193
                display       "PLL input clock frequency"
194
                flavor        data
195
                calculated    { CYGNUM_HAL_CORTEXM_LM3S8XX_XTAL_FREQ }
196
                legal_values  { 3579545 3686400 4000000 4096000 4915200 5000000 \
197
                                5120000 6000000 6144000 7372800 8000000 8192000 }
198
                description   "
199
                    PLL output frequency is fixed to 200 MHz.  Using the
200
                    PLL puts more constraints to the external reference
201
                    clock. The PLL input clock frequency is not defined
202
                    if internal chip reference clock is used."
203
            }
204
        }
205
 
206
        cdl_option CYGHWR_HAL_CORTEXM_LM3S8XX_SYSCLK {
207
            display       "System Clock frequency"
208
            flavor        data
209
            calculated    { CYGHWR_HAL_CORTEXM_LM3S8XX_PLL ? ( 200000000 / CYGHWR_HAL_CORTEXM_LM3S8XX_SYSCLK_DIV ) : CYGHWR_HAL_CORTEXM_LM3S8XX_CLOCK_EXT ? ( CYGHWR_HAL_CORTEXM_LM3S8XX_XTAL_FREQ / CYGHWR_HAL_CORTEXM_LM3S8XX_SYSCLK_DIV ) : ( CYGNUM_HAL_CORTEXM_LM3S8XX_CLOCK_INT_FREQ / CYGHWR_HAL_CORTEXM_LM3S8XX_SYSCLK_DIV ) }
210
            legal_values  { 1000000 to 50000000 }
211
            description   "
212
                The chip system clock frequency is 200 MHz divided
213
                by the system clock divider when the PLL is in used,
214
                otherwise the frequency value is the chip source clock
215
                frequency divided by the system clock divider."
216
        }
217
 
218
        cdl_option CYGHWR_HAL_CORTEXM_LM3S8XX_SYSCLK_DIV {
219
            display       "System Clock divider"
220
            flavor        data
221
            default_value 4
222
            legal_values  { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 }
223
            description   "
224
                Select the system clock divider."
225
        }
226
    }
227
 
228
    # UART0 is available for diagnostic/debug use.
229
    implements   CYGINT_HAL_CORTEXM_LM3S_UART0
230
 
231
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
232
        display      "Number of communication channels on the board"
233
        flavor        data
234
        calculated    1
235
    }
236
 
237
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
238
        display       "Debug serial port"
239
        active_if      CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
240
        flavor data
241
        calculated    0
242
        description   "
243
            This option selects which port will be used to connect to
244
            a host running GDB."
245
     }
246
 
247
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
248
         display       "Diagnostic serial port"
249
         active_if     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
250
         flavor data
251
         calculated    0
252
         description   "
253
             This option selects which port will be used for diagnostic
254
             output."
255
    }
256
 
257
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
258
        display       "Console serial port baud rate"
259
        flavor        data
260
        legal_values  9600 19200 38400 57600 115200
261
        default_value 38400
262
        description   "
263
            This option controls the default baud rate used for the
264
            console connection.  Note: this should match the value chosen
265
            for the GDB port if the diagnostic and GDB port are the same."
266
    }
267
 
268
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
269
        display       "GDB serial port baud rate"
270
        flavor        data
271
        legal_values  9600 19200 38400 57600 115200
272
        default_value 38400
273
        description   "
274
            This option controls the default baud rate used for the GDB
275
            connection.  Note: this should match the value chosen for
276
            the console port if the console and GDB port are the same."
277
    }
278
 
279
    cdl_component CYGBLD_GLOBAL_OPTIONS {
280
        display       "Global build options"
281
        flavor        none
282
        parent        CYGPKG_NONE
283
        description   "
284
            Global build options including control over compiler flags,
285
            linker flags and choice of toolchain."
286
 
287
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
288
            display       "Global command prefix"
289
            flavor        data
290
            no_define
291
            default_value { "arm-eabi" }
292
            description   "
293
                This option specifies the command prefix used when
294
                invoking the build tools."
295
        }
296
 
297
        cdl_option CYGBLD_GLOBAL_CFLAGS {
298
            display       "Global compiler flags"
299
            flavor        data
300
            no_define
301
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-mcpu=cortex-m3 -mthumb -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
302
            description   "
303
                This option controls the global compiler flags which
304
                are used to compile all packages by default. Individual
305
                packages may define options which override these global
306
                flags."
307
        }
308
 
309
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
310
            display       "Global linker flags"
311
            flavor        data
312
            no_define
313
            default_value { "-mcpu=cortex-m3 -mthumb -Wl,--gc-sections -Wl,-static -Wl,-n -g -nostdlib" }
314
            description   "
315
                This option controls the global linker flags. Individual
316
                packages may define options which override these global
317
                flags."
318
        }
319
    }
320
 
321
    cdl_option CYGSEM_HAL_ROM_MONITOR {
322
        display       "Behave as a ROM monitor"
323
        flavor        bool
324
        default_value 0
325
        parent        CYGPKG_HAL_ROM_MONITOR
326
        requires      { CYG_HAL_STARTUP == "ROM" }
327
        requires      { CYGDBG_HAL_CRCTABLE_LOCATION == "ROM" }
328
        description   "
329
            Enable this option if this program is to be used as a
330
            ROM monitor, i.e. applications will be loaded into RAM on
331
            the board, and this ROM monitor may process exceptions or
332
            interrupts generated from the application. This enables
333
            features such as utilizing a separate interrupt stack when
334
            exceptions are generated."
335
    }
336
 
337
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
338
         display       "Work with a ROM monitor"
339
         flavor        booldata
340
         legal_values  { "Generic" "GDB_stubs" }
341
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
342
         parent          CYGPKG_HAL_ROM_MONITOR
343
         requires      { CYG_HAL_STARTUP == "RAM" }
344
         description   "
345
             Support can be enabled for different varieties of ROM
346
             monitor.  This support changes various eCos semantics such
347
             as the encoding of diagnostic output, or the overriding of
348
             hardware interrupt vectors.
349
             Firstly there is \"Generic\" support which prevents the
350
             HAL from overriding the hardware vectors that it does not
351
             use, to instead allow an installed ROM monitor to handle
352
             them. This is the most basic support which is likely to be
353
             common to most implementations of ROM monitor.
354
             \"GDB_stubs\" provides support when GDB stubs are included
355
             in the ROM monitor or boot ROM."
356
    }
357
 
358
    cdl_component CYGBLD_HAL_CORTEXM_LM3S8XX_GDB_STUBS {
359
        display       "Create StubROM SREC and binary files"
360
        active_if     CYGBLD_BUILD_COMMON_GDB_STUBS
361
        no_define
362
        calculated    1
363
        requires      { CYG_HAL_STARTUP == "ROM" }
364
        description   "
365
            This component causes the ELF image generated by the build
366
            process to be converted to S-Record and binary files."
367
 
368
        make -priority 325 {
369
            /bin/stubrom.srec : /bin/gdb_module.img
370
            $(OBJCOPY) -O srec $< $@
371
        }
372
        make -priority 325 {
373
            /bin/stubrom.bin : /bin/gdb_module.img
374
            $(OBJCOPY) -O binary $< $@
375
        }
376
    }
377
 
378
    cdl_option CYGPKG_HAL_CORTEXM_LM3S8XX_TESTS {
379
        display       "Stellaris Cortex-M3 800 Series tests"
380
        active_if     CYGPKG_KERNEL
381
        flavor        data
382
        no_define
383
        calculated    { "tests/timers" }
384
        description   "
385
            This option specifies the set of tests for the Stellaris
386
            Cortex-M3 800 Series HAL."
387
    }
388
}
389
 
390
# EOF hal_cortex_lm3s8xx.cdl

powered by: WebSVN 2.1.0

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