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