1 # ====================================================================
3 # hal_mn10300_am33_stb.cdl
5 # AM33/STB 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 # ====================================================================
41 ######DESCRIPTIONBEGIN####
44 # Original data: nick, bartv
48 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_HAL_MN10300_AM33_STB {
53 display "stb evaluation board"
54 parent CYGPKG_HAL_MN10300
55 requires CYGPKG_HAL_MN10300_AM33
56 define_header hal_mn10300_am33_stb.h
59 The STB HAL package should be used when targetting the
60 actual hardware for the AM33 STB evaluation board."
62 compile hal_diag.c plf_stub.c plf_misc.c
64 implements CYGINT_HAL_DEBUG_GDB_STUBS
65 implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
67 requires CYGSEM_HAL_UNCACHED_FLASH_ACCESS == 1;
70 puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_mn10300_am33.h>"
71 puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_mn10300_am33_stb.h>"
74 cdl_component CYG_HAL_STARTUP {
75 display "Startup type"
77 legal_values {"RAM" "ROM"}
80 define -file system.h CYG_HAL_STARTUP
82 When targetting the STB board it is possible to build
83 the system for either RAM bootstrap or ROM bootstrap. The
84 former generally requires that the board is equipped with
85 GDB stub ROMs or equivalent software
86 that allows gdb to download the eCos application
87 on to the board. The latter typically requires that the
88 eCos application be blown into EPROMs or equivalent
89 technology. If a JTAG debugger is avaiable, it is also
90 possible to download ROM executables into either SDRAM cards
91 or program them into a FLASH ROM."
94 cdl_option CYGBLD_ROM_SLOT {
95 display "ROM startup slot"
97 legal_values {"ROM" "SRAM1"}
100 This option can be used to request that the image is to be
101 linked to be run from the SRAM1 SLOT (0x82400000) rather than
102 the system boot ROM slot (0x40000000).
106 cdl_option CYGHWR_HAL_MN10300_AM33_STB_DIAG_PORT {
107 display "Diagnostic Serial Port"
112 The STB board has three separate serial ports, of which only
113 ports 0 and 2 are brought out to the front panel. This option
114 chooses which of these ports will be used for diagnostic output.
115 At present only port 0 is supported."
118 cdl_option CYGHWR_HAL_MN10300_AM33_STB_DIAG_BAUD {
119 display "Diagnostic Serial Port Baud Rate"
121 legal_values 9600 19200 38400 115200
123 define CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD
125 This option selects the baud rate used for the diagnostic port.
126 Note: this should match the value chosen for the GDB port if the
127 diagnostic and GDB port are the same."
130 cdl_option CYGHWR_HAL_MN10300_AM33_STB_GDB_PORT {
131 display "GDB Serial Port"
136 The VRC4373 board has two separate serial ports. This option
137 chooses which of these ports will be used to connect to a host
141 cdl_option CYGHWR_HAL_MN10300_AM33_STB_GDB_BAUD {
142 display "GDB Serial Port Baud Rate"
144 legal_values 9600 19200 38400 115200
147 This option controls the baud rate used for the GDB connection."
150 cdl_option CYGSEM_HAL_AM33_PLF_USES_SERIAL0 {
151 display "ASB2303 uses AM33 SERIAL0"
155 Enable this option if AM33 SERIAL0 is to be used as a virtual vector
156 communications channel."
159 cdl_option CYGSEM_HAL_AM33_PLF_USES_SERIAL1 {
160 display "ASB2303 uses AM33 SERIAL1"
164 Enable this option if AM33 SERIAL1 is to be used as a virtual vector
165 communications channel."
169 # Real-time clock/counter specifics
170 cdl_option CYGHWR_HAL_MN10300_PROCESSOR_OSC_DEFAULT {
171 display "Processor clock rate"
176 cdl_component CYGBLD_GLOBAL_OPTIONS {
177 display "Global build options"
181 Global build options including control over
182 compiler flags, linker flags and choice of toolchain."
185 cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
186 display "Global command prefix"
189 default_value { "mn10300-elf" }
191 This option specifies the command prefix used when
192 invoking the build tools."
195 cdl_option CYGBLD_GLOBAL_CFLAGS {
196 display "Global compiler flags"
199 default_value { "-mam33 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
201 This option controls the global compiler flags which
202 are used to compile all packages by
203 default. Individual packages may define
204 options which override these global flags."
207 cdl_option CYGBLD_GLOBAL_LDFLAGS {
208 display "Global linker flags"
211 default_value { "-mam33 -g -nostdlib -Wl,--gc-sections -Wl,-static" }
213 This option controls the global linker flags. Individual
214 packages may define options which override these global flags."
217 cdl_option CYGBLD_BUILD_GDB_STUBS {
218 display "Build GDB stub ROM image"
220 requires { CYG_HAL_STARTUP == "ROM" }
221 requires CYGSEM_HAL_ROM_MONITOR
222 requires CYGBLD_BUILD_COMMON_GDB_STUBS
223 requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
224 requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
225 requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
226 requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
227 requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
230 This option enables the building of the GDB stubs for the
231 board. The common HAL controls takes care of most of the
232 build process, but the final conversion from ELF image to
233 binary data is handled by the platform CDL, allowing
234 relocation of the data if necessary."
237 <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
238 $(OBJCOPY) -O binary $< $@
243 cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
244 display "Number of breakpoints supported by the HAL."
248 This option determines the number of breakpoints supported by the HAL."
251 cdl_component CYGHWR_MEMORY_LAYOUT {
252 display "Memory layout"
255 calculated { CYG_HAL_STARTUP == "RAM" ? "mn10300_am33_stb_ram" : \
256 CYGBLD_ROM_SLOT == "ROM" ? "mn10300_am33_stb_rom" : \
257 "mn10300_am33_stb_sram1" }
259 cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
260 display "Memory layout linker script fragment"
263 define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
264 calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mn10300_am33_stb_ram.ldi>" : \
265 CYGBLD_ROM_SLOT == "ROM" ? "<pkgconf/mlt_mn10300_am33_stb_rom.ldi>" : \
266 "<pkgconf/mlt_mn10300_am33_stb_sram1.ldi>" }
269 cdl_option CYGHWR_MEMORY_LAYOUT_H {
270 display "Memory layout header file"
273 define -file system.h CYGHWR_MEMORY_LAYOUT_H
274 calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mn10300_am33_stb_ram.h>" : \
275 CYGBLD_ROM_SLOT == "ROM" ? "<pkgconf/mlt_mn10300_am33_stb_rom.h>" : \
276 "<pkgconf/mlt_mn10300_am33_stb_sram1.h>" }
280 cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
281 display "Work with a ROM monitor"
283 legal_values { "GDB_stubs" }
284 default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
285 requires { CYG_HAL_STARTUP == "RAM" }
286 parent CYGPKG_HAL_ROM_MONITOR
288 Support can be enabled for boot ROMs or ROM monitors which contain
289 GDB stubs. This support changes various eCos semantics such as
290 the encoding of diagnostic output, and the overriding of hardware
294 cdl_option CYGSEM_HAL_ROM_MONITOR {
295 display "Behave as a ROM monitor"
298 parent CYGPKG_HAL_ROM_MONITOR
299 requires { CYG_HAL_STARTUP == "ROM" }
301 Enable this option if this program is to be used as a ROM monitor,
302 i.e. applications will be loaded into RAM on the board, and this
303 ROM monitor may process exceptions or interrupts generated from the
304 application. This enables features such as utilizing a separate
305 interrupt stack when exceptions are generated."