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 CYGBLD_REDBOOT_LOAD_INTO_FLASH {
249 display "Allow the load-command write into Flash."
251 active_if CYGPKG_REDBOOT_FLASH
252 requires CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
255 Write images direct to Flash via the load command.
256 We assume anything which is invalid RAM is flash, hence
257 the requires statement"
260 cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
261 display "Include MS Windows CE support"
264 description "This option enables MS Windows CE EShell support
265 and Windows CE .BIN images support"
267 compile -library=libextras.a wince.c
270 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
271 display "Include support for MXC USB downloads"
274 compile -library=libextras.a mxc_usb.c
277 cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
278 display "Include support for i.MX USB OTG downloads"
281 compile -library=libextras.a imx_usb.c
284 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
285 display "Include POSIX checksum command"
286 doc ref/cksum-command.html
288 compile -library=libextras.a cksum.c
291 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
292 display "Include memory fill command"
293 doc ref/mfill-command.html
295 compile -library=libextras.a mfill.c
298 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
299 display "Include memory compare command"
300 doc ref/mcmp-command.html
302 compile -library=libextras.a mcmp.c
305 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
306 display "Include memory copy command"
307 doc ref/mcopy-command.html
309 compile -library=libextras.a mcopy.c
312 cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
313 display "Include memory dump command"
314 doc ref/dump-command.html
316 compile -library=libextras.a dump.c
319 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
320 display "Include cache command"
321 doc ref/cache-command.html
323 compile -library=libextras.a caches.c
326 cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
327 display "Include exec command"
328 doc ref/exec-command.html
330 # Implemented within the platform HAL
333 cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
334 display "Include I/O Memory commands 'iopeek' and 'iopoke'"
336 compile -library=libextras.a iomem.c
341 This option enables the building of the Redboot ELF image.
342 The image may require further relocation or symbol
343 stripping before being converted to a binary image.
344 This is handled by a rule in the target CDL."
347 cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
348 display "Granularity of timer/ticks"
350 legal_values { 10 25 50 100 250 500 1000 }
353 This option controls the granularity of the timers.
354 Faster CPUs can afford higher granularity (lower values)
355 which should give higher network performance since the stack
360 compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
361 compile -library=libextras.a load.c
364 <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
365 @sh -c "mkdir -p $(dir $@)"
366 $(CC) -c $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
367 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
370 cdl_component CYGPKG_REDBOOT_NETWORKING {
371 display "Redboot Networking"
373 active_if CYGPKG_IO_ETH_DRIVERS
375 implements CYGINT_REDBOOT_LOAD_METHOD
376 compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
377 compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
378 compile net/inet_addr.c
379 compile -library=libextras.a net/ping.c net/net_io.c
380 description "This option includes networking support in RedBoot."
382 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
385 cdl_option CYGDBG_REDBOOT_NET_DEBUG {
386 display "Print net debug information"
390 This option is overriden by the configuration stored
394 cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
395 display "Support TFTP for download"
398 compile -library=libextras.a net/tftp_client.c
400 This option enables the use of the TFTP protocol for
404 cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
405 display "Support HTTP for download"
408 compile -library=libextras.a net/http_client.c
410 This option enables the use of the HTTP protocol for
414 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
415 display "Default IP address"
417 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
420 This IP address is the default used by RedBoot if
421 a BOOTP/DHCP server does not respond. The numbers
422 should be separated by *commas*, and not dots. If
423 an IP address is configured into the Flash
424 configuration, that will be used in preference."
426 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
427 display "Do not try to use BOOTP"
431 By default Redboot tries to use BOOTP to get an IP
432 address. If there's no BOOTP server on your network
433 use this option to avoid to wait until the
434 timeout. This option is overriden by the
435 configuration stored in flash."
437 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
438 display "Default bootp server"
440 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
443 This IP address is the default server
444 address used by RedBoot if a BOOTP/DHCP
445 server does not respond. The numbers should
446 be separated by *commas*, and not dots. If
447 an IP address is configured into the Flash
448 configuration, that will be used in
453 cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
454 display "Use DHCP to get IP information"
458 Use DHCP protocol to obtain pertinent IP addresses, such
459 as the client, server, gateway, etc."
462 cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
463 display "Use a gateway for non-local IP traffic"
466 requires CYGSEM_REDBOOT_NETWORKING_DHCP
468 Enabling this option will allow the RedBoot networking
469 stack to use a \[single\] gateway to reach a non-local
470 IP address. If disabled, RedBoot will only be able to
471 reach nodes on the same subnet."
473 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
474 display "Default gateway IP address"
476 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
479 This IP address is the default used by RedBoot
480 if a BOOTP/DHCP server does not respond. The
481 numbers should be separated by *commas*, and
482 not dots. If an IP address is configured into
483 the Flash configuration, that will be used in
487 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
488 display "Default IP address mask"
490 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
491 { "255, 255, 255, 0" }
493 This IP address mask is the default used by
494 RedBoot if a BOOTP/DHCP server does not
495 respond. The numbers should be separated by
496 *commas*, and not dots. If an IP address is
497 configured into the Flash configuration, that
498 will be used in preference."
502 cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
503 display "TCP port to listen for incoming connections"
507 RedBoot will 'listen' on this port for incoming TCP
508 connections. This allows outside connections to be made
509 to the platform, either for GDB or RedBoot commands."
512 cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
513 display "Number of \[network\] packet buffers"
518 RedBoot may need to buffer network data to support
519 various connections. This option allows control
520 over the number of such buffered packets, and in
521 turn, controls the amount of memory used by RedBoot
522 (which is not available to user applications).
523 Each packet buffer takes up about 1514 bytes.
524 Note: there is little need to make this larger than
528 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
529 display "DNS support"
531 active_if CYGPKG_NS_DNS
532 requires !CYGPKG_NS_DNS_BUILD
535 When this option is enabled, RedBoot will be built with
536 support for DNS, allowing use of hostnames on the command
539 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
540 display "Default DNS IP"
542 active_if !CYGSEM_REDBOOT_FLASH_CONFIG
543 default_value { "0.0.0.0" }
545 This option sets the IP of the default DNS. The IP can be
546 changed at runtime as well."
549 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
550 display "Timeout in DNS lookup"
554 This option sets the timeout used when looking up an
555 address via the DNS. Default is 10 seconds."
558 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
559 display "Support the use of a domain name"
563 This option controls if Redboot supports domain
564 names when performing DNS lookups"
566 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
567 display "Default DNS domain"
571 This option sets the default DNS domain name.
572 This value will be overwritten by the value in
573 flash or a domain returned by DHCP"
576 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
577 display "Get DNS domain from Flash"
579 active_if CYGSEM_REDBOOT_FLASH_CONFIG
582 This option enables getting the domain name
583 from the flash configuration. This can later be
584 overwritten by a value learnt from DHCP"
587 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
588 display "Use DNS domain from DHCP"
592 This option enables the use of the domain name
596 cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
597 display "BOOTP/DHCP DNS domain buffer size"
601 This options sets the size of the static
602 buffer used by BOOTP/DHCP to store the DNS
603 domain name. The domain name will not be
604 set if the buffer is too small to hold it."
609 cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
610 display "Default network device driver"
612 active_if { CYGHWR_NET_DRIVERS > 1 }
613 default_value { "\"\"" }
615 This is the name of the default network device to use."
618 cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
619 display "Initialize only one net device"
621 active_if { CYGHWR_NET_DRIVERS > 1 }
624 This option tells RedBoot to stop initializing network
625 devices when it finds the first device which is
626 successfully initialized. The default behavior causes
627 all network devices to be initialized."
631 cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
632 display "Let RedBoot use any I/O channel for its console."
636 If this option is enabled then RedBoot will attempt to use all
637 defined serial I/O channels for its console device. Once input
638 arrives at one of these channels then the console will use only
642 cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
643 display "Let RedBoot adjust the baud rate of the serial console."
646 active_if CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
648 If this option is enabled then RedBoot will support commands
649 to set and query the baud rate on the selected console."
652 cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
653 display "Run a platform specific startup function."
657 If this option is enabled then RedBoot will execute a platform
658 specific startup function before entering into its command line
659 processing. This allows the platform to perform any special
660 setups before RedBoot actually starts running. Note: the entire
661 RedBoot environment will already be initialized at this point."
664 cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
665 display "Run a platform specific ESA validation function."
669 If this option is enabled then RedBoot will execute a platform
670 specific function to validate an ethernet ESA. This would be
671 useful if the address must conform to standards set by the
672 hardware manufacturer, etc."
675 cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
676 display "Maximum command line length"
680 This option allows control over how long the CLI command line
681 should be. This space will be allocated statically
682 rather than from RedBoot's stack."
685 cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
686 display "Command processing idle timeout (ms)"
690 This option controls the timeout period before the
691 command processing is considered 'idle'. Making this
692 number smaller will cause idle processing to take place
693 more often, etc. The default value of 10ms is a reasonable
694 tradeoff between responsiveness and overhead."
697 cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
698 display "Validate RAM addresses during load"
703 This option controls whether or not RedBoot will make
704 sure that memory being used by the \"load\" command is
705 in fact in user RAM. Leaving the option enabled makes
706 for a safer environment, but this check may not be valid
707 on all platforms, thus the ability to disable it.
708 ** Disable this only with great care **"
711 cdl_component CYGPKG_REDBOOT_FLASH {
712 display "Allow RedBoot to support FLASH programming"
715 active_if CYGHWR_IO_FLASH_DEVICE
717 If this option is enabled then RedBoot will provide commands
718 to manage images in FLASH memory. These images can be loaded
719 into memory for execution or executed in place."
720 compile -library=libextras.a flash.c
722 cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
723 display "Byte order used to store info in flash."
725 default_value { "NATURAL" }
726 legal_values {"NATURAL" "MSBFIRST" "LSBFIRST" }
728 This option controls the byte ordering used to store
729 the FIS directory info and flash config info."
732 cdl_option CYGOPT_REDBOOT_FIS {
733 display "RedBoot Flash Image System support"
735 doc ref/flash-image-system.html
737 This option enables the Flash Image System commands
738 and support within RedBoot. If disabled, simple Flash
739 access commands such as \"fis write\" will still exist.
740 This option would be disabled for targets that need simple
741 FLASH manipulation, but do not have the need or space for
742 complete image management."
745 cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
746 display "Max number of chunks of free space to manage"
751 If this option is defined then \"fis free\" will
752 rely on the FIS directory to determine what space is
753 free within the FLASH. This option controls the
754 maximum number of free segment which can be handled
755 (typically this number is small). If this option is
756 not enabled, the the archaic behaviour of actually
757 scanning the FLASH for erased sectors (unreliable)
758 will be used to determine what's free and what's
762 cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
763 display "Flash Image System default directory contents"
764 active_if CYGOPT_REDBOOT_FIS
767 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
768 display "Flash block containing the Directory"
772 Which block of flash should hold the directory
773 information. Positive numbers are absolute block
774 numbers. Negative block numbers count backwards
775 from the last block. eg 2 means block 2, -2
776 means the last but one block."
779 cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
780 display "Redundant Flash Image System Directory Support"
782 requires { 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG }
784 This option enables the use of a redundant FIS
785 directory within RedBoot. If enabled a flash block
786 will be reserved for a second copy of the fis
787 directory. Doing this allow for power failure safe
788 updates of the directory by the application."
790 cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
791 display "Flash block containing the backup Directory"
794 requires { CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
795 CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK }
797 Which block of flash should hold the redundant
798 directory information. Positive numbers are
799 absolute block numbers. Negative block numbers
800 count backwards from the last block. eg 2 means
801 block 2, -2 means the last but one block."
805 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
806 display "Pseudo-file to describe reserved area"
807 active_if { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
810 If an area of FLASH is reserved, it is informative to
811 have a fis entry describing it. This option controls
812 creation of such an entry by default in the fis init
816 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
817 display "File to describe RedBoot boot image"
820 Normally a ROM-startup RedBoot image is first in the
821 FLASH, and the system boots using that image. This
822 option controls creation of an entry describing it in
823 the fis init command. It might be disabled if a
824 platform has an immutable boot image of its own, where
825 we use a POST-startup RedBoot instead, which performs
826 less board initialization."
829 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
830 display "File to describe RedBoot POST-compatible image"
831 default_value !CYGOPT_REDBOOT_FIS_REDBOOT
833 This option controls creation of an entry describing a
834 POST-startup RedBoot image in the fis init command.
835 Not all platforms support POST-startup. A platform
836 might have both for testing purposes, where the
837 eventual user would substitute their own POST code for
838 the initial ROM-startup RedBoot, and then jump to the
839 POST-compatible RedBoot immediately following."
840 cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
841 display "Offset of POST image from FLASH start"
844 requires { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
845 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
847 This option specifies the offset for a POST image from
848 the start of FLASH. If unset, then the fis entry
849 describing the POST image will be placed where
854 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
855 display "File to describe RedBoot backup image"
858 This option controls creation of an entry describing a
859 backup RedBoot image in the fis init command.
860 Conventionally a RAM-startup RedBoot image is kept
861 under this name for use in updating the ROM-based
862 RedBoot that boots the board."
865 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
866 display "Include ARM SIB ID in FIS"
869 If set, this option will cause the last 5 words of
870 the FIS to include the special ID needed for the
871 flash to be recognized as a reserved area for RedBoot
872 by an ARM BootRom monitor."
875 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
876 display "Size of FIS directory entry"
880 The FIS directory is limited to one single flash
881 sector. If your flash has tiny sectors, you may wish
882 to reduce this value in order to get more slots in
886 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
887 display "Number of FIS directory entries"
891 The FIS directory normally occupies a single flash
892 sector. Adjusting this value can allow for more than
893 one flash sector to be used, which is useful if your
894 sectors are very small."
897 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
898 display "Maximum RedBoot image size"
900 default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 }
902 This option controls the maximum length reserved
903 for the RedBoot boot image in the FIS table.
904 This should be a multiple of the flash's erase
908 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
909 display "Offset from start of FLASH to RedBoot boot image"
911 default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
912 requires { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
913 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
915 This option controls where the RedBoot boot image is
916 located relative to the start of FLASH."
919 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
920 display "Size of reserved area at start of FLASH"
924 This option reserves an area at the start of
925 FLASH where RedBoot will never interfere; it is
926 expected that this area contains
927 (non-RedBoot-based) POST code or some other boot
928 monitor that executes before RedBoot."
932 cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
933 display "Keep all RedBoot FLASH data blocks locked."
936 active_if { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
938 When this option is enabled, RedBoot will keep configuration
939 data and the FIS directory blocks implicitly locked. While
940 this is somewhat safer, it does add overhead during updates."
943 cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
944 display "Use CRC checksums on FIS images."
948 When this option is enabled, RedBoot will use CRC checksums
949 when reading and writing flash images."
952 cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
953 display "ARM FLASH drivers support SIB flash block structure"
954 active_if CYGPKG_HAL_ARM
955 description "This interface is implemented by a flash driver
956 to indicate that it supports the ARM SIB flash
960 cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
961 display "Use ARM SIB flash block structure"
963 active_if CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
966 This option is used to interpret ARM Flash System
971 cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
972 display "Keep RedBoot configuration data in FLASH"
974 default_value { CYGPKG_IO_FLASH != 0 }
977 When this option is enabled, RedBoot will keep configuration
978 data in a separate block of FLASH memory. This data will
979 include such items as the node IP address or startup scripts."
981 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
982 display "Length of configuration data in FLASH"
986 This option is used to control the amount of memory and FLASH
987 to be used for configuration options (persistent storage)."
990 cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
991 display "Style of media used for persistent data storage"
993 legal_values { "FLASH" "EEPROM" }
994 default_value { "FLASH" }
996 Persistent data storage can either be held in 'norma' FLASH
997 or some other device (represented by the 'EEPROM' choice).
998 The different styles utilize different access methods."
1001 cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
1002 display "Merged config data and FIS directory"
1004 active_if { CYGOPT_REDBOOT_FIS && \
1005 (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1008 If this option is set, then the FIS directory and FLASH
1009 configuration database will be stored in the same physical
1013 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
1014 display "Which block of flash to use"
1018 Which block of flash should hold the configuration
1019 information. Positive numbers are absolute block numbers.
1020 Negative block numbers count backwards from the last block.
1021 eg 2 means block 2, -2 means the last but one block."
1024 cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
1025 display "Support simple macros/aliases in FLASH"
1029 This option is used to allow support for simple text-based
1030 macros (aliases). These aliases are kept in the FLASH
1031 configuration data (persistent storage)."
1034 cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
1035 display "Length of strings in FLASH configuration data"
1039 This option is used to control the amount of memory
1040 and FLASH to be used for string configuration
1041 options (persistent storage)."
1044 cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
1045 display "Length of configuration script(s) in FLASH"
1049 This option is used to control the amount of memory and
1050 FLASH to be used for configuration options (persistent
1054 cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
1055 display "Fallback to read-only FLASH configuration"
1057 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1059 This option will cause the configuration information to
1060 revert to the readonly information stored in the FLASH.
1061 The option only takes effect after
1062 1) the config_ok flag has been set to be true,
1063 indicating that at one time the copy in RAM was valid;
1065 2) the information in RAM has been verified to be invalid"
1070 cdl_component CYGPKG_REDBOOT_FILEIO {
1071 display "Allow RedBoot to support fileio"
1074 active_if CYGPKG_IO_FILEIO
1076 If this option is enabled then RedBoot will provide commands
1077 to load files from fileio file systems such as JFFS2."
1078 compile -library=libextras.a fs/fileio.c
1080 cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
1081 display "Include an ls command"
1085 If this option is enabled a simple ls command will be
1086 included in redboot so the contents of a directory
1091 cdl_component CYGPKG_REDBOOT_DISK {
1092 display "Allow RedBoot to support disks"
1096 If this option is enabled then RedBoot will provide commands
1097 to load disk files."
1099 cdl_option CYGSEM_REDBOOT_DISK {
1100 display "Include Redboot commands for disk access"
1101 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
1102 compile -library=libextras.a fs/disk.c
1105 cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
1106 display "Hardware drivers for disk-type devices"
1109 cdl_option CYGNUM_REDBOOT_MAX_DISKS {
1110 display "Maximum number of supported disks"
1114 This option controls the number of disks supported by
1118 cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
1119 display "Maximum number of partitions per disk"
1123 This option controls the maximum number of supported
1124 partitions per disk."
1127 cdl_component CYGSEM_REDBOOT_DISK_IDE {
1128 display "Support IDE disks."
1131 active_if { CYGINT_HAL_PLF_IF_IDE != 0 }
1133 When this option is enabled, RedBoot will support IDE disks."
1134 compile -library=libextras.a fs/ide.c
1135 implements CYGINT_REDBOOT_DISK_DRIVERS
1137 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
1138 display "Work with VMware virtual disks"
1142 This option controls the disk driver behavior at
1147 cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1148 display "Support Linux second extended filesystems."
1152 When this option is enabled, RedBoot will support EXT2
1154 compile -library=libextras.a fs/e2fs.c
1157 cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1158 display "Support ISO9660 filesystems."
1162 When this option is enabled, RedBoot will support ISO9660
1164 compile -library=libextras.a fs/iso9660fs.c
1168 cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1169 display "Boot scripting"
1170 doc ref/persistent-state-flash.html
1174 This contains options related to RedBoot's boot script
1177 cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1178 display "Boot scripting enabled"
1180 active_if { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1181 CYGSEM_REDBOOT_FLASH_CONFIG }
1184 This option controls whether RedBoot boot script
1185 functionality is enabled."
1188 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1189 display "Use default RedBoot boot script"
1193 If enabled, this option will tell RedBoot to use the
1194 value of this option as a default boot script."
1197 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1198 display "Resolution (in ms) for script timeout value."
1202 This option controls the resolution of the script
1203 timeout. The value is specified in milliseconds
1204 (ms), thus to have the script timeout be defined in
1205 terms of tenths of seconds, use 100."
1208 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1209 display "Script default timeout value"
1213 This option is used to set the default timeout for startup
1214 scripts, when they are enabled."
1218 cdl_option CYGSEM_REDBOOT_RTC {
1219 display "Support RTC for time & date functions"
1220 active_if { CYGPKG_IO_WALLCLOCK }
1223 When this option is enabled, RedBoot will support commands to
1224 query and set the real time clock (time and date)"
1225 compile -library=libextras.a time_date.cxx
1228 cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1229 display "Behave like a ROM monitor"
1230 active_if { CYG_HAL_STARTUP == "ROM" || \
1231 CYG_HAL_STARTUP == "ROMRAM" }
1232 requires CYGSEM_HAL_ROM_MONITOR
1236 Enabling this option will allow RedBoot to provide ROM
1237 monitor-style services to programs which it executes."
1240 cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1241 display "Allow RedBoot to handle GNUPro application 'syscalls'."
1245 If this option is enabled then RedBoot will install a
1246 syscall handler to support debugging of applications
1247 based on GNUPro newlib/bsp."
1249 cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1250 display "Support additional syscalls for 'gprof' profiling"
1253 active_if { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1255 Support additional syscalls to support a periodic callback
1256 function for histogram-style profiling, and an enquire/set
1258 The application must use the GNUPro newlib facilities
1262 cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1263 display "Does the HAL support 'gprof' profiling?"
1267 cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1268 display "Do not raise SIGTRAP when program exits"
1271 For some (single shot) newlib based programs,
1272 exiting and returning a termination status may be
1273 the normal expected behavior."
1277 cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1278 display "Use a common buffer for Zlib and FIS"
1280 active_if { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1281 CYGOPT_REDBOOT_FIS }
1284 Use a common memory buffer for both the zlib workspace
1285 and FIS directory operations. This can save a substantial
1286 amount of RAM, especially when flash sectors are large."
1288 cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1289 display "Size of Zlib/FIS common buffer"
1291 default_value 0xc000
1292 legal_values 0x4000 to 0x80000000
1294 Size of common buffer to allocate. Must be at least the
1295 size of one flash sector."
1298 cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1299 display "Buffer size in getc when loading images"
1301 default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1303 When loading images a buffer is used between redboot and the
1304 underlying storage medium, eg a filesystem, or a socket etc.
1305 The size of this buffer can have a big impart on load speed."