1 # ====================================================================
5 # Redboot 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.
12 ## Copyright (C) 2002, 2003, 2004, 2005 Gary Thomas
14 ## eCos is free software; you can redistribute it and/or modify it under
15 ## the terms of the GNU General Public License as published by the Free
16 ## Software Foundation; either version 2 or (at your option) any later version.
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23 ## You should have received a copy of the GNU General Public License along
24 ## with eCos; if not, write to the Free Software Foundation, Inc.,
25 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
27 ## As a special exception, if other files instantiate templates or use macros
28 ## or inline functions from this file, or you compile this file and link it
29 ## with other works to produce a work based on this file, this file does not
30 ## by itself cause the resulting work to be covered by the GNU General Public
31 ## License. However the source code for this file must still be made available
32 ## in accordance with section (3) of the GNU General Public License.
34 ## This exception does not invalidate any other reasons why a work based on
35 ## this file might be covered by the GNU General Public License.
37 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
38 ## at http://sources.redhat.com/ecos/ecos-license/
39 ## -------------------------------------------
40 #####ECOSGPLCOPYRIGHTEND####
41 # ====================================================================
42 ######DESCRIPTIONBEGIN####
45 # Original data: gthomas
46 # Contributors: Philippe Robin, Andrew Lunn, tkoeller
49 #####DESCRIPTIONEND####
51 # ====================================================================
52 cdl_package CYGPKG_REDBOOT {
53 display "Redboot ROM monitor"
55 define_header redboot.h
57 This package supports the Redboot \[stand-alone debug monitor\]
58 using eCos as the underlying board support mechanism."
60 # Use of separate interrupt stack causes problems when running
61 # programs as they can end up trashing RedBoot's stack
62 requires { CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 }
64 # Since the CYGDAT_REDBOOT_CONSOLE_DEV setting ends up in the platform
65 # HAL header, we need to include that here (via hal.h).
67 puts $::cdl_header "#include <pkgconf/hal.h>"
70 cdl_component CYGSEM_REDBOOT_ELF {
72 display "Include support for ELF file format"
75 cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
76 display "Use the virtual address in the ELF headers"
80 The ELF headers contain both a virtual and a physical address
81 for where code/data should be loaded. By default the physical
82 address is used but sometimes it is necassary to use the
83 virtual address because of bugy toolchains"
88 cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
89 display "Methods of loading images using redboot"
92 cdl_component CYGBLD_BUILD_REDBOOT {
93 display "Build Redboot ROM ELF image"
96 requires CYGPKG_ISOINFRA
98 requires ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
99 requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
100 requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
101 requires CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
103 requires CYGINT_ISO_STRING_MEMFUNCS
104 requires CYGINT_ISO_STRING_STRFUNCS
105 requires CYGINT_REDBOOT_LOAD_METHOD
107 cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
108 display "Include GDB support in RedBoot"
111 active_if CYGINT_HAL_DEBUG_GDB_STUBS
112 requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
113 requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
115 RedBoot normally includes support for the GDB debugging
116 protocols. This option allows this to be disabled which
117 may yield a substantial savings in terms of code and memory
121 cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
122 display "Threads debugging support"
125 Enabling this option will include special code in the
126 GDB stubs to support debugging of threaded programs. In
127 the case of eCos programs, this support allows GDB to
128 have complete access to the eCos threads in the
130 active_if { CYG_HAL_STARTUP != "RAM" }
131 requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
134 cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
135 display "Customized version string"
139 Use this option to define a customized version \"string\" for
140 RedBoot. Note: this value is only cosmetic, displayed by the
141 \"version\" command, but is useful for providing site specific
142 information about the RedBoot configuration."
145 cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
146 display "Enable command line editing"
150 If this option is non-zero, RedBoot will remember the
151 last N command lines. These lines may be reused.
152 Enabling this history will also enable rudimentary
153 editting of the lines themselves."
156 cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
157 display "Enable command line editing using ANSI arrows, etc"
160 active_if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
162 If this option is enabled, RedBoot will accept standard ANSI key
163 sequences for cursor movement (along with the emacs style keys)."
166 cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
167 display "Enable history command and expansion"
168 requires { CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 }
172 Enabling this option will allow RedBoot to provide a
173 history command to list previous commands. Also enables
174 history expansion via '!' character similar to bash
178 cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
179 display "Number of unique RAM segments on platform"
183 Change this option to be the number of memory segments which are
184 supported by the platform. If the value is greater than 1, then
185 a platform specific function must provide information about the
186 additional segments."
189 cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
190 display "Include support gzip/zlib decompression"
191 active_if CYGPKG_COMPRESS_ZLIB
193 implements CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC
196 cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
197 display "Size of zlib decompression buffer"
200 legal_values 5 to 256
202 This is the size of the buffer filled with incoming data
203 during load before calls are made to the decompressor
204 function. For ethernet downloads this can be made bigger
205 (at the cost of memory), but for serial downloads on slow
206 processors it may be necessary to reduce the size to
207 avoid serial overruns. zlib appears to bail out if less
208 than five bytes are available initially so this is the
212 cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
213 display "Support compression of Flash images"
214 active_if CYGPKG_REDBOOT_FLASH
215 active_if { (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE }
218 This CDL indicates whether flash images can
219 be decompressed from gzip/zlib format into RAM."
222 cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
223 display "Include GZIP uncompress command"
226 Enable this option to include a 'gunzip' command
227 to uncompress GZIP compressed data."
228 compile -library=libextras.a gunzip.c
231 cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
232 display "Turn on CYGPRI_REDBOOT_ZLIB_FLASH"
235 Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen"
239 cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
240 display "Include support for xyzModem downloads"
241 doc ref/download-command.html
244 implements CYGINT_REDBOOT_LOAD_METHOD
245 compile -library=libextras.a xyzModem.c
248 cdl_option CYGPKG_REDBOOT_CFLAGS_ADD {
249 display "Additional compiler flags"
250 active_if CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
253 default_value { "-Wno-inline" }
255 This option modifies the set of compiler flags for
256 building the eCos infra package. These flags are used
257 in addition to the set of global flags."
260 cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
261 display "Allow the load-command write into Flash."
263 active_if CYGPKG_REDBOOT_FLASH
264 requires CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
267 Write images direct to Flash via the load command.
268 We assume anything which is invalid RAM is flash, hence
269 the requires statement"
272 cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
273 display "Include MS Windows CE support"
276 description "This option enables MS Windows CE EShell support
277 and Windows CE .BIN images support"
279 compile -library=libextras.a wince.c
282 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
283 display "Include support for MXC USB downloads"
286 compile -library=libextras.a mxc_usb.c
289 cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
290 display "Include support for i.MX USB OTG downloads"
293 compile -library=libextras.a imx_usb.c
296 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
297 display "Include POSIX checksum command"
298 doc ref/cksum-command.html
300 compile -library=libextras.a cksum.c
303 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
304 display "Include memory fill command"
305 doc ref/mfill-command.html
307 compile -library=libextras.a mfill.c
310 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
311 display "Include memory compare command"
312 doc ref/mcmp-command.html
314 compile -library=libextras.a mcmp.c
317 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
318 display "Include memory copy command"
319 doc ref/mcopy-command.html
321 compile -library=libextras.a mcopy.c
324 cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
325 display "Include memory dump command"
326 doc ref/dump-command.html
328 compile -library=libextras.a dump.c
331 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
332 display "Include cache command"
333 doc ref/cache-command.html
335 compile -library=libextras.a caches.c
338 cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
339 display "Include exec command"
340 doc ref/exec-command.html
342 # Implemented within the platform HAL
345 cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
346 display "Include I/O Memory commands 'iopeek' and 'iopoke'"
348 compile -library=libextras.a iomem.c
353 This option enables the building of the Redboot ELF image.
354 The image may require further relocation or symbol
355 stripping before being converted to a binary image.
356 This is handled by a rule in the target CDL."
359 cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
360 display "Granularity of timer/ticks"
362 legal_values { 10 25 50 100 250 500 1000 }
365 This option controls the granularity of the timers.
366 Faster CPUs can afford higher granularity (lower values)
367 which should give higher network performance since the stack
372 compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
373 compile -library=libextras.a load.c
376 <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
377 @sh -c "mkdir -p $(dir $@)"
378 $(CC) -c $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
379 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
382 cdl_component CYGPKG_REDBOOT_NETWORKING {
383 display "Redboot Networking"
385 active_if CYGPKG_IO_ETH_DRIVERS
387 implements CYGINT_REDBOOT_LOAD_METHOD
388 compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
389 compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
390 compile net/inet_addr.c
391 compile -library=libextras.a net/ping.c net/net_io.c
392 description "This option includes networking support in RedBoot."
394 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
397 cdl_option CYGDBG_REDBOOT_NET_DEBUG {
398 display "Print net debug information"
402 This option is overriden by the configuration stored
406 cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
407 display "Support TFTP for download"
410 compile -library=libextras.a net/tftp_client.c
412 This option enables the use of the TFTP protocol for
416 cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
417 display "Support HTTP for download"
420 compile -library=libextras.a net/http_client.c
422 This option enables the use of the HTTP protocol for
426 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
427 display "Default IP address"
429 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
432 This IP address is the default used by RedBoot if
433 a BOOTP/DHCP server does not respond. The numbers
434 should be separated by *commas*, and not dots. If
435 an IP address is configured into the Flash
436 configuration, that will be used in preference."
438 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
439 display "Do not try to use BOOTP"
443 By default Redboot tries to use BOOTP to get an IP
444 address. If there's no BOOTP server on your network
445 use this option to avoid to wait until the
446 timeout. This option is overriden by the
447 configuration stored in flash."
449 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
450 display "Default bootp server"
452 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
455 This IP address is the default server
456 address used by RedBoot if a BOOTP/DHCP
457 server does not respond. The numbers should
458 be separated by *commas*, and not dots. If
459 an IP address is configured into the Flash
460 configuration, that will be used in
465 cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
466 display "Use DHCP to get IP information"
470 Use DHCP protocol to obtain pertinent IP addresses, such
471 as the client, server, gateway, etc."
474 cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
475 display "Use a gateway for non-local IP traffic"
478 requires CYGSEM_REDBOOT_NETWORKING_DHCP
480 Enabling this option will allow the RedBoot networking
481 stack to use a \[single\] gateway to reach a non-local
482 IP address. If disabled, RedBoot will only be able to
483 reach nodes on the same subnet."
485 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
486 display "Default gateway IP address"
488 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
491 This IP address is the default used by RedBoot
492 if a BOOTP/DHCP server does not respond. The
493 numbers should be separated by *commas*, and
494 not dots. If an IP address is configured into
495 the Flash configuration, that will be used in
499 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
500 display "Default IP address mask"
502 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
503 { "255, 255, 255, 0" }
505 This IP address mask is the default used by
506 RedBoot if a BOOTP/DHCP server does not
507 respond. The numbers should be separated by
508 *commas*, and not dots. If an IP address is
509 configured into the Flash configuration, that
510 will be used in preference."
514 cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
515 display "TCP port to listen for incoming connections"
519 RedBoot will 'listen' on this port for incoming TCP
520 connections. This allows outside connections to be made
521 to the platform, either for GDB or RedBoot commands."
524 cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
525 display "Number of \[network\] packet buffers"
530 RedBoot may need to buffer network data to support
531 various connections. This option allows control
532 over the number of such buffered packets, and in
533 turn, controls the amount of memory used by RedBoot
534 (which is not available to user applications).
535 Each packet buffer takes up about 1514 bytes.
536 Note: there is little need to make this larger than
540 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
541 display "DNS support"
543 active_if CYGPKG_NS_DNS
544 requires !CYGPKG_NS_DNS_BUILD
547 When this option is enabled, RedBoot will be built with
548 support for DNS, allowing use of hostnames on the command
551 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
552 display "Default DNS IP"
554 active_if !CYGSEM_REDBOOT_FLASH_CONFIG
555 default_value { "0.0.0.0" }
557 This option sets the IP of the default DNS. The IP can be
558 changed at runtime as well."
561 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
562 display "Timeout in DNS lookup"
566 This option sets the timeout used when looking up an
567 address via the DNS. Default is 10 seconds."
570 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
571 display "Support the use of a domain name"
575 This option controls if Redboot supports domain
576 names when performing DNS lookups"
578 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
579 display "Default DNS domain"
583 This option sets the default DNS domain name.
584 This value will be overwritten by the value in
585 flash or a domain returned by DHCP"
588 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
589 display "Get DNS domain from Flash"
591 active_if CYGSEM_REDBOOT_FLASH_CONFIG
594 This option enables getting the domain name
595 from the flash configuration. This can later be
596 overwritten by a value learnt from DHCP"
599 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
600 display "Use DNS domain from DHCP"
604 This option enables the use of the domain name
608 cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
609 display "BOOTP/DHCP DNS domain buffer size"
613 This options sets the size of the static
614 buffer used by BOOTP/DHCP to store the DNS
615 domain name. The domain name will not be
616 set if the buffer is too small to hold it."
621 cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
622 display "Default network device driver"
624 active_if { CYGHWR_NET_DRIVERS > 1 }
625 default_value { "\"\"" }
627 This is the name of the default network device to use."
630 cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
631 display "Initialize only one net device"
633 active_if { CYGHWR_NET_DRIVERS > 1 }
636 This option tells RedBoot to stop initializing network
637 devices when it finds the first device which is
638 successfully initialized. The default behavior causes
639 all network devices to be initialized."
643 cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
644 display "Let RedBoot use any I/O channel for its console."
648 If this option is enabled then RedBoot will attempt to use all
649 defined serial I/O channels for its console device. Once input
650 arrives at one of these channels then the console will use only
654 cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
655 display "Let RedBoot adjust the baud rate of the serial console."
658 active_if CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
660 If this option is enabled then RedBoot will support commands
661 to set and query the baud rate on the selected console."
664 cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
665 display "Run a platform specific startup function."
669 If this option is enabled then RedBoot will execute a platform
670 specific startup function before entering into its command line
671 processing. This allows the platform to perform any special
672 setups before RedBoot actually starts running. Note: the entire
673 RedBoot environment will already be initialized at this point."
676 cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
677 display "Run a platform specific ESA validation function."
681 If this option is enabled then RedBoot will execute a platform
682 specific function to validate an ethernet ESA. This would be
683 useful if the address must conform to standards set by the
684 hardware manufacturer, etc."
687 cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
688 display "Maximum command line length"
692 This option allows control over how long the CLI command line
693 should be. This space will be allocated statically
694 rather than from RedBoot's stack."
697 cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
698 display "Command processing idle timeout (ms)"
702 This option controls the timeout period before the
703 command processing is considered 'idle'. Making this
704 number smaller will cause idle processing to take place
705 more often, etc. The default value of 10ms is a reasonable
706 tradeoff between responsiveness and overhead."
709 cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
710 display "Validate RAM addresses during load"
715 This option controls whether or not RedBoot will make
716 sure that memory being used by the \"load\" command is
717 in fact in user RAM. Leaving the option enabled makes
718 for a safer environment, but this check may not be valid
719 on all platforms, thus the ability to disable it.
720 ** Disable this only with great care **"
723 cdl_component CYGPKG_REDBOOT_FLASH {
724 display "Allow RedBoot to support FLASH programming"
727 active_if CYGHWR_IO_FLASH_DEVICE
729 If this option is enabled then RedBoot will provide commands
730 to manage images in FLASH memory. These images can be loaded
731 into memory for execution or executed in place."
732 compile -library=libextras.a flash.c
734 cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
735 display "Byte order used to store info in flash."
737 default_value { "NATURAL" }
738 legal_values {"NATURAL" "MSBFIRST" "LSBFIRST" }
740 This option controls the byte ordering used to store
741 the FIS directory info and flash config info."
744 cdl_option CYGOPT_REDBOOT_FIS {
745 display "RedBoot Flash Image System support"
747 doc ref/flash-image-system.html
749 This option enables the Flash Image System commands
750 and support within RedBoot. If disabled, simple Flash
751 access commands such as \"fis write\" will still exist.
752 This option would be disabled for targets that need simple
753 FLASH manipulation, but do not have the need or space for
754 complete image management."
757 cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
758 display "Max number of chunks of free space to manage"
763 If this option is defined then \"fis free\" will
764 rely on the FIS directory to determine what space is
765 free within the FLASH. This option controls the
766 maximum number of free segment which can be handled
767 (typically this number is small). If this option is
768 not enabled, the the archaic behaviour of actually
769 scanning the FLASH for erased sectors (unreliable)
770 will be used to determine what's free and what's
774 cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
775 display "Flash Image System default directory contents"
776 active_if CYGOPT_REDBOOT_FIS
779 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
780 display "Flash block containing the Directory"
784 Which block of flash should hold the directory
785 information. Positive numbers are absolute block
786 numbers. Negative block numbers count backwards
787 from the last block. eg 2 means block 2, -2
788 means the last but one block."
791 cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
792 display "Redundant Flash Image System Directory Support"
794 requires { 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG }
796 This option enables the use of a redundant FIS
797 directory within RedBoot. If enabled a flash block
798 will be reserved for a second copy of the fis
799 directory. Doing this allow for power failure safe
800 updates of the directory by the application."
802 cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
803 display "Flash block containing the backup Directory"
806 requires { CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
807 CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK }
809 Which block of flash should hold the redundant
810 directory information. Positive numbers are
811 absolute block numbers. Negative block numbers
812 count backwards from the last block. eg 2 means
813 block 2, -2 means the last but one block."
817 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
818 display "Pseudo-file to describe reserved area"
819 active_if { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
822 If an area of FLASH is reserved, it is informative to
823 have a fis entry describing it. This option controls
824 creation of such an entry by default in the fis init
828 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
829 display "File to describe RedBoot boot image"
832 Normally a ROM-startup RedBoot image is first in the
833 FLASH, and the system boots using that image. This
834 option controls creation of an entry describing it in
835 the fis init command. It might be disabled if a
836 platform has an immutable boot image of its own, where
837 we use a POST-startup RedBoot instead, which performs
838 less board initialization."
841 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
842 display "File to describe RedBoot POST-compatible image"
843 default_value !CYGOPT_REDBOOT_FIS_REDBOOT
845 This option controls creation of an entry describing a
846 POST-startup RedBoot image in the fis init command.
847 Not all platforms support POST-startup. A platform
848 might have both for testing purposes, where the
849 eventual user would substitute their own POST code for
850 the initial ROM-startup RedBoot, and then jump to the
851 POST-compatible RedBoot immediately following."
852 cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
853 display "Offset of POST image from FLASH start"
856 requires { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
857 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
859 This option specifies the offset for a POST image from
860 the start of FLASH. If unset, then the fis entry
861 describing the POST image will be placed where
866 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
867 display "File to describe RedBoot backup image"
870 This option controls creation of an entry describing a
871 backup RedBoot image in the fis init command.
872 Conventionally a RAM-startup RedBoot image is kept
873 under this name for use in updating the ROM-based
874 RedBoot that boots the board."
877 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
878 display "Include ARM SIB ID in FIS"
881 If set, this option will cause the last 5 words of
882 the FIS to include the special ID needed for the
883 flash to be recognized as a reserved area for RedBoot
884 by an ARM BootRom monitor."
887 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
888 display "Size of FIS directory entry"
892 The FIS directory is limited to one single flash
893 sector. If your flash has tiny sectors, you may wish
894 to reduce this value in order to get more slots in
898 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
899 display "Number of FIS directory entries"
903 The FIS directory normally occupies a single flash
904 sector. Adjusting this value can allow for more than
905 one flash sector to be used, which is useful if your
906 sectors are very small."
909 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
910 display "Maximum RedBoot image size"
912 default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 }
914 This option controls the maximum length reserved
915 for the RedBoot boot image in the FIS table.
916 This should be a multiple of the flash's erase
920 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
921 display "Offset from start of FLASH to RedBoot boot image"
923 default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
924 requires { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
925 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
927 This option controls where the RedBoot boot image is
928 located relative to the start of FLASH."
931 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
932 display "Size of reserved area at start of FLASH"
936 This option reserves an area at the start of
937 FLASH where RedBoot will never interfere; it is
938 expected that this area contains
939 (non-RedBoot-based) POST code or some other boot
940 monitor that executes before RedBoot."
944 cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
945 display "Keep all RedBoot FLASH data blocks locked."
948 active_if { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
950 When this option is enabled, RedBoot will keep configuration
951 data and the FIS directory blocks implicitly locked. While
952 this is somewhat safer, it does add overhead during updates."
955 cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
956 display "Use CRC checksums on FIS images."
960 When this option is enabled, RedBoot will use CRC checksums
961 when reading and writing flash images."
964 cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
965 display "ARM FLASH drivers support SIB flash block structure"
966 active_if CYGPKG_HAL_ARM
967 description "This interface is implemented by a flash driver
968 to indicate that it supports the ARM SIB flash
972 cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
973 display "Use ARM SIB flash block structure"
975 active_if CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
978 This option is used to interpret ARM Flash System
983 cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
984 display "Keep RedBoot configuration data in FLASH"
986 default_value { CYGPKG_IO_FLASH != 0 }
989 When this option is enabled, RedBoot will keep configuration
990 data in a separate block of FLASH memory. This data will
991 include such items as the node IP address or startup scripts."
993 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
994 display "Length of configuration data in FLASH"
998 This option is used to control the amount of memory and FLASH
999 to be used for configuration options (persistent storage)."
1002 cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
1003 display "Style of media used for persistent data storage"
1005 legal_values { "FLASH" "EEPROM" }
1006 default_value { "FLASH" }
1008 Persistent data storage can either be held in 'norma' FLASH
1009 or some other device (represented by the 'EEPROM' choice).
1010 The different styles utilize different access methods."
1013 cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
1014 display "Merged config data and FIS directory"
1016 active_if { CYGOPT_REDBOOT_FIS && \
1017 (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1020 If this option is set, then the FIS directory and FLASH
1021 configuration database will be stored in the same physical
1025 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
1026 display "Which block of flash to use"
1030 Which block of flash should hold the configuration
1031 information. Positive numbers are absolute block numbers.
1032 Negative block numbers count backwards from the last block.
1033 eg 2 means block 2, -2 means the last but one block."
1036 cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
1037 display "Support simple macros/aliases in FLASH"
1041 This option is used to allow support for simple text-based
1042 macros (aliases). These aliases are kept in the FLASH
1043 configuration data (persistent storage)."
1046 cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
1047 display "Length of strings in FLASH configuration data"
1051 This option is used to control the amount of memory
1052 and FLASH to be used for string configuration
1053 options (persistent storage)."
1056 cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
1057 display "Length of configuration script(s) in FLASH"
1061 This option is used to control the amount of memory and
1062 FLASH to be used for configuration options (persistent
1066 cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
1067 display "Fallback to read-only FLASH configuration"
1069 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1071 This option will cause the configuration information to
1072 revert to the readonly information stored in the FLASH.
1073 The option only takes effect after
1074 1) the config_ok flag has been set to be true,
1075 indicating that at one time the copy in RAM was valid;
1077 2) the information in RAM has been verified to be invalid"
1082 cdl_component CYGPKG_REDBOOT_FILEIO {
1083 display "Allow RedBoot to support fileio"
1086 active_if CYGPKG_IO_FILEIO
1088 If this option is enabled then RedBoot will provide commands
1089 to load files from fileio file systems such as JFFS2."
1090 compile -library=libextras.a fs/fileio.c
1092 cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
1093 display "Include an ls command"
1097 If this option is enabled a simple ls command will be
1098 included in redboot so the contents of a directory
1103 cdl_component CYGPKG_REDBOOT_DISK {
1104 display "Allow RedBoot to support disks"
1108 If this option is enabled then RedBoot will provide commands
1109 to load disk files."
1111 cdl_option CYGSEM_REDBOOT_DISK {
1112 display "Include Redboot commands for disk access"
1113 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
1114 compile -library=libextras.a fs/disk.c
1117 cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
1118 display "Hardware drivers for disk-type devices"
1121 cdl_option CYGNUM_REDBOOT_MAX_DISKS {
1122 display "Maximum number of supported disks"
1126 This option controls the number of disks supported by
1130 cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
1131 display "Maximum number of partitions per disk"
1135 This option controls the maximum number of supported
1136 partitions per disk."
1139 cdl_component CYGSEM_REDBOOT_DISK_IDE {
1140 display "Support IDE disks."
1143 active_if { CYGINT_HAL_PLF_IF_IDE != 0 }
1145 When this option is enabled, RedBoot will support IDE disks."
1146 compile -library=libextras.a fs/ide.c
1147 implements CYGINT_REDBOOT_DISK_DRIVERS
1149 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
1150 display "Work with VMware virtual disks"
1154 This option controls the disk driver behavior at
1159 cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1160 display "Support Linux second extended filesystems."
1164 When this option is enabled, RedBoot will support EXT2
1166 compile -library=libextras.a fs/e2fs.c
1169 cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1170 display "Support ISO9660 filesystems."
1174 When this option is enabled, RedBoot will support ISO9660
1176 compile -library=libextras.a fs/iso9660fs.c
1180 cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1181 display "Boot scripting"
1182 doc ref/persistent-state-flash.html
1186 This contains options related to RedBoot's boot script
1189 cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1190 display "Boot scripting enabled"
1192 active_if { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1193 CYGSEM_REDBOOT_FLASH_CONFIG }
1196 This option controls whether RedBoot boot script
1197 functionality is enabled."
1200 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1201 display "Use default RedBoot boot script"
1205 If enabled, this option will tell RedBoot to use the
1206 value of this option as a default boot script."
1209 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1210 display "Resolution (in ms) for script timeout value."
1214 This option controls the resolution of the script
1215 timeout. The value is specified in milliseconds
1216 (ms), thus to have the script timeout be defined in
1217 terms of tenths of seconds, use 100."
1220 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1221 display "Script default timeout value"
1225 This option is used to set the default timeout for startup
1226 scripts, when they are enabled."
1230 cdl_option CYGSEM_REDBOOT_RTC {
1231 display "Support RTC for time & date functions"
1232 active_if { CYGPKG_IO_WALLCLOCK }
1235 When this option is enabled, RedBoot will support commands to
1236 query and set the real time clock (time and date)"
1237 compile -library=libextras.a time_date.cxx
1240 cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1241 display "Behave like a ROM monitor"
1242 active_if { CYG_HAL_STARTUP == "ROM" || \
1243 CYG_HAL_STARTUP == "ROMRAM" }
1244 requires CYGSEM_HAL_ROM_MONITOR
1248 Enabling this option will allow RedBoot to provide ROM
1249 monitor-style services to programs which it executes."
1252 cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1253 display "Allow RedBoot to handle GNUPro application 'syscalls'."
1257 If this option is enabled then RedBoot will install a
1258 syscall handler to support debugging of applications
1259 based on GNUPro newlib/bsp."
1261 cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1262 display "Support additional syscalls for 'gprof' profiling"
1265 active_if { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1267 Support additional syscalls to support a periodic callback
1268 function for histogram-style profiling, and an enquire/set
1270 The application must use the GNUPro newlib facilities
1274 cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1275 display "Does the HAL support 'gprof' profiling?"
1279 cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1280 display "Do not raise SIGTRAP when program exits"
1283 For some (single shot) newlib based programs,
1284 exiting and returning a termination status may be
1285 the normal expected behavior."
1289 cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1290 display "Use a common buffer for Zlib and FIS"
1292 active_if { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1293 CYGOPT_REDBOOT_FIS }
1296 Use a common memory buffer for both the zlib workspace
1297 and FIS directory operations. This can save a substantial
1298 amount of RAM, especially when flash sectors are large."
1300 cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1301 display "Size of Zlib/FIS common buffer"
1303 default_value 0xc000
1304 legal_values 0x4000 to 0x80000000
1306 Size of common buffer to allocate. Must be at least the
1307 size of one flash sector."
1310 cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1311 display "Buffer size in getc when loading images"
1313 default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1315 When loading images a buffer is used between redboot and the
1316 underlying storage medium, eg a filesystem, or a socket etc.
1317 The size of this buffer can have a big impart on load speed."