]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/hal/calmrisc16/ceb/v2_0/cdl/hal_calm16_ceb.cdl
Initial revision
[karo-tx-redboot.git] / packages / hal / calmrisc16 / ceb / v2_0 / cdl / hal_calm16_ceb.cdl
1 # ====================================================================
2 #
3 #      hal_calm16_ceb.cdl
4 #
5 #      CalmRISC16 Core Eval Board HAL package configuration data
6 #
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.
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 version.
16 ##
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
20 ## for more details.
21 ##
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.
25 ##
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.
32 ##
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.
35 ##
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####
42 #
43 # Author(s):      msalter
44 # Original data:  bartv
45 # Contributors:
46 # Date:           2001-02-12
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52 cdl_package CYGPKG_HAL_CALM16_CEB {
53     display  "CalmRISC16 core evaluation board"
54     parent        CYGPKG_HAL_CALM16
55     include_dir   cyg/hal
56     description   "
57            The Core eval board HAL package should be used when targetting the
58            actual hardware."
59
60     compile       hal_diag.c platform.S plf_misc.c ser.c
61
62     implements    CYGINT_HAL_DEBUG_GDB_STUBS
63     implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
64     implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
65     implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_GUARANTEED
66
67     cdl_option CYGBLD_HAL_TARGET_H {
68         display       "Variant header"
69         flavor        data
70         no_define
71         calculated { "<pkgconf/hal_calm16_core.h>" }
72         define -file system.h CYGBLD_HAL_TARGET_H
73         description   "Variant header."
74
75         define_proc {
76             puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_calm16_ceb.h>"
77             puts $::cdl_system_header ""
78             puts $::cdl_system_header "/* Make sure we get the CORE type definitions for HAL_PLATFORM_CPU */"
79             puts $::cdl_system_header "#include CYGBLD_HAL_TARGET_H"
80             puts $::cdl_system_header "#define HAL_PLATFORM_BOARD    \"Ceb\""
81             puts $::cdl_system_header "#define HAL_PLATFORM_EXTRA    \"\""
82             puts $::cdl_system_header ""
83         }
84                                       
85     }
86
87     cdl_component CYG_HAL_STARTUP {
88         display       "Startup type"
89         flavor        data
90         legal_values  {"RAM" "ROM"}
91         default_value {"ROM"}
92         no_define
93         define -file system.h CYG_HAL_STARTUP
94         description   "
95             Currently only ROM startup type is supported."
96     }
97
98     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
99         display       "Diagnostic serial port baud rate"
100         flavor        data
101         legal_values  57600
102         default_value 57600
103         description   "
104             This option selects the baud rate used for the diagnostic port.
105             Note: this should match the value chosen for the GDB port if the
106             diagnostic and GDB port are the same."
107     }
108
109     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
110         display       "GDB serial port baud rate"
111         flavor        data
112         legal_values  57600
113         default_value 57600
114         description   "
115             This option controls the baud rate used for the GDB connection."
116     }
117
118     cdl_option CYGBLD_BUILD_GDB_STUBS {
119         display "Build GDB stub ROM image"
120         default_value 0
121         parent CYGBLD_GLOBAL_OPTIONS
122         requires { CYG_HAL_STARTUP == "ROM" }
123         requires CYGSEM_HAL_ROM_MONITOR
124         requires CYGBLD_BUILD_COMMON_GDB_STUBS
125         requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
126         requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
127         requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
128         requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
129         requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
130         no_define
131         description "
132                 This option enables the building of the GDB stubs for the
133                 board. The common HAL controls takes care of most of the
134                 build process, but the final conversion from ELF image to
135                 binary data is handled by the platform CDL, allowing
136                 relocation of the data if necessary."
137
138         make -priority 320 {
139             <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
140             $(OBJCOPY) -O binary $< $@
141         }
142     }
143
144
145     cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
146         display       "Number of breakpoints supported by the HAL."
147         flavor        data
148         default_value 25
149         description   "
150             This option determines the number of breakpoints supported by the HAL."
151     }
152
153     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
154         display      "Number of communication channels on the board"
155         flavor       data
156         calculated   1
157     }
158
159     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
160         display          "Debug serial port"
161         flavor data
162         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
163         default_value    0
164         description      "
165            The Atlas board has only one serial port. This option
166            chooses which port will be used to connect to a host
167            running GDB."
168     }
169  
170      cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
171         display          "Diagnostic serial port"
172         flavor data
173         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
174         default_value    0
175         description      "
176            The Atlas board has only one serial port.  This option
177            chooses which port will be used for diagnostic output."
178      }
179
180     cdl_component CYGHWR_MEMORY_LAYOUT {
181         display "Memory layout"
182         flavor data
183         no_define
184         calculated { CYG_HAL_STARTUP == "RAM" ? "calm16_ceb_ram" : \
185                                                 "calm16_ceb_rom" }
186
187         cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
188             display "Memory layout linker script fragment"
189             flavor data
190             no_define
191             define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
192             calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_calm16_ceb_ram.ldi>" : \
193                                                     "<pkgconf/mlt_calm16_ceb_rom.ldi>" }
194         }
195
196         cdl_option CYGHWR_MEMORY_LAYOUT_H {
197             display "Memory layout header file"
198             flavor data
199             no_define
200             define -file system.h CYGHWR_MEMORY_LAYOUT_H
201             calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_calm16_ceb_ram.h>" : \
202                                                     "<pkgconf/mlt_calm16_ceb_rom.h>" }
203         }
204     }
205
206     cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
207         display       "Work with a ROM monitor"
208         flavor        booldata
209         legal_values  { "Generic" "GDB_stubs" }
210         default_value { CYG_HAL_STARTUP == "RAM" ? "Generic" : 0 }
211         parent        CYGPKG_HAL_ROM_MONITOR
212         requires      { CYG_HAL_STARTUP == "RAM" }
213         description   "
214             Support can be enabled for three different varieties of ROM monitor.
215             This support changes various eCos semantics such as the encoding
216             of diagnostic output, or the overriding of hardware interrupt
217             vectors.
218             Firstly there is \"Generic\" support which prevents the HAL
219             from overriding the hardware vectors that it does not use, to
220             instead allow an installed ROM monitor to handle them. This is
221             the most basic support which is likely to be common to most
222             implementations of ROM monitor.
223             \"CygMon\" provides support for the Cygnus ROM Monitor.
224             And finally, \"GDB_stubs\" provides support when GDB stubs are
225             included in the ROM monitor or boot ROM."
226     }
227
228     cdl_option CYGSEM_HAL_ROM_MONITOR {
229         display       "Behave as a ROM monitor"
230         flavor        bool
231         default_value 1
232         parent        CYGPKG_HAL_ROM_MONITOR
233         requires      { CYG_HAL_STARTUP == "ROM" }
234         description   "
235             Enable this option if this program is to be used as a ROM monitor,
236             i.e. applications will be loaded into RAM on the board, and this
237             ROM monitor may process exceptions or interrupts generated from the
238             application. This enables features such as utilizing a separate
239             interrupt stack when exceptions are generated."
240     }
241
242     cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
243         display       "Redboot HAL options"
244         flavor        none
245         no_define
246         parent        CYGPKG_REDBOOT
247         active_if     CYGPKG_REDBOOT
248         description   "
249             This option lists the target's requirements for a valid Redboot
250             configuration."
251     
252         cdl_option CYGBLD_BUILD_REDBOOT_BIN {
253             display       "Build Redboot ROM binary image"
254             active_if     CYGBLD_BUILD_REDBOOT
255             default_value 1
256             no_define
257             description "This option enables the conversion of the Redboot ELF
258                          image to a binary image suitable for ROM programming."
259     
260             compile -library=libextras.a
261     
262             make -priority 325 {
263                 <PREFIX>/bin/redboot.srec : <PREFIX>/bin/redboot.elf
264                 $(OBJCOPY) --strip-all $< $(@:.srec=.img)
265                 $(OBJCOPY) -O srec $< $@
266             }
267         }
268     }
269
270 }