1 # ====================================================================
3 # hal_m68k_mcf52xx_mcf5272_mcf5272c3.cdl
5 # Motorola mcf5272c3 evaluation board HAL package configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
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 version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 # ====================================================================
42 cdl_package CYGPKG_HAL_M68K_MCF52xx_MCF5272_MCF5272C3 {
43 display "Motorola mcf5272c3 evaluation board"
44 parent CYGPKG_HAL_M68K_MCF52xx_MCF5272
45 define_header hal_m68k_mcf52xx_mcf5272_mcf5272c3.h
48 description "The Motorola mcf5272c3 evaluation board platform HAL
49 package should be used when targeting the actual hardware for
50 the Motorola mcf5272c3 evaluation board platform."
53 puts $::cdl_header "#include <pkgconf/hal_m68k_mcf52xx_mcf5272.h>"
56 compile plf_startup.c hal_diag.c
58 # implements CYGINT_HAL_DEBUG_GDB_STUBS
59 # implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
62 puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_m68k.h>"
63 puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H <pkgconf/hal_m68k_mcf52xx_mcf5272.h>"
64 puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_m68k_mcf52xx_mcf5272_mcf5272c3.h>"
67 cdl_component CYG_HAL_STARTUP {
68 display "Startup type"
70 legal_values {"RAM" "ROM"}
73 define -file system.h CYG_HAL_STARTUP
75 description "When targeting the Motorola mcf5272c3 evaluation board
76 it is expected that the image will be downloaded into RAM
77 via the Motorola dBUG monitor."
81 cdl_option CYGHWR_HAL_SYSTEM_CLOCK_MHZ {
82 display "System clock speed in MHz"
87 description "This option identifies the system clock that the
88 processor uses. This value is used to set clock dividers
93 cdl_option CYGHWR_HAL_M68K_MCF52xx_MCF5272_MCF5272C3_DIAG_BAUD {
94 display "Diagnostic Serial Port Baud Rate"
96 legal_values 9600 19200 38400 115200
99 description "This option selects the baud rate used for the
100 diagnostic port. Note: this should match the value chosen
101 for the GDB port if the diagnostic and GDB port are the
106 cdl_option CYGHWR_HAL_M68K_MCF52xx_MCF5272_MCF5272C3_GDB_BAUD {
107 display "GDB Serial Port Baud Rate"
109 legal_values 9600 19200 38400 115200
112 description "This option controls the baud rate used for the GDB
117 # Real-time clock/counter specifics
118 cdl_component CYGNUM_HAL_RTC_CONSTANTS {
119 display "Real-time clock constants."
122 description "Set the periodic timer on the mcf5272 to 1 ms or
125 cdl_option CYGNUM_HAL_RTC_NUMERATOR {
126 display "Real-time clock numerator"
128 default_value 1000000000
130 cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
131 display "Real-time clock denominator"
135 cdl_option CYGNUM_HAL_RTC_PERIOD {
136 display "Real-time clock period"
138 default_value 1000000
142 cdl_component CYGBLD_GLOBAL_OPTIONS {
143 display "Global build options"
147 description "Global build options including control over compiler
148 flags, linker flags and choice of toolchain."
150 cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
151 display "Global command prefix"
154 default_value { "m68k-elf" }
156 description "This option specifies the command prefix used
157 when invoking the build tools."
161 cdl_option CYGBLD_GLOBAL_CFLAGS {
162 display "Global compiler flags"
165 default_value { "-m5200 -malign-int -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-thunks=3 -finit-priority -fomit-frame-pointer" }
166 description "This option controls the global compiler flags
167 which are used to compile all packages by default.
168 Individual packages may define options which
169 override these global flags."
173 cdl_option CYGBLD_GLOBAL_LDFLAGS {
174 display "Global linker flags"
177 default_value { "-m5200 -g -nostdlib -Wl,--gc-sections -Wl,-static" }
179 description "This option controls the global linker flags.
180 Individual packages may define options which
181 override these global flags."
185 cdl_option CYGBLD_BUILD_GDB_STUBS {
186 display "Build GDB stub ROM image"
188 requires { CYG_HAL_STARTUP == "ROM" }
189 requires CYGSEM_HAL_ROM_MONITOR
190 requires CYGBLD_BUILD_COMMON_GDB_STUBS
191 requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
192 requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
193 requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
194 requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
195 requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
198 description "This option enables the building of the GDB
199 stubs for the board. The common HAL controls
200 takes care of most of the build process, but the
201 final conversion from ELF image to binary data is
202 handled by the platform CDL, allowing relocation
203 of the data if necessary."
206 <PREFIX>/bin/gdb_module.srec : <PREFIX>/bin/gdb_module.img
207 $(OBJCOPY) -O srec $< $@
212 cdl_component CYGHWR_MEMORY_LAYOUT {
213 display "Memory layout"
216 calculated { CYG_HAL_STARTUP == "RAM" ? "m68k_mcf52xx_mcf5272_mcf5272c3_ram" : \
217 "m68k_mcf52xx_mcf5272_mcf5272c3_rom" }
219 cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
220 display "Memory layout linker script fragment"
223 define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
224 calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_m68k_mcf52xx_mcf5272_mcf5272c3_ram.ldi>" : \
225 "<pkgconf/mlt_m68k_mcf52xx_mcf5272_mcf5272c3_rom.ldi>" }
228 cdl_option CYGHWR_MEMORY_LAYOUT_H {
229 display "Memory layout header file"
232 define -file system.h CYGHWR_MEMORY_LAYOUT_H
233 calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_m68k_mcf52xx_mcf5272_mcf5272c3_ram.h>" : \
234 "<pkgconf/mlt_m68k_mcf52xx_mcf5272_mcf5272c3_rom.h>" }
238 cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
239 display "Work with a ROM monitor"
241 legal_values { "GDB_stubs" }
242 default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
243 requires { CYG_HAL_STARTUP == "RAM" }
244 parent CYGPKG_HAL_ROM_MONITOR
246 description "Support can be enabled for boot ROMs or ROM
247 monitors which contain GDB stubs. This support
248 changes various eCos semantics such as the encoding of
249 diagnostic output, and the overriding of hardware
254 cdl_option CYGSEM_HAL_ROM_MONITOR {
255 display "Behave as a ROM monitor"
258 parent CYGPKG_HAL_ROM_MONITOR
259 requires { CYG_HAL_STARTUP == "ROM" }
261 description "Enable this option if this program is to be used as
262 a ROM monitor, i.e. applications will be loaded into
263 RAM on the board, and this ROM monitor may process
264 exceptions or interrupts generated from the
265 application. This enables features such as utilizing
266 a separate interrupt stack when exceptions are