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_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
249 display "Include MS Windows CE support"
252 description "This option enables MS Windows CE EShell support
253 and Windows CE .BIN images support"
255 compile -library=libextras.a wince.c
258 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
259 display "Include support for MXC USB downloads"
262 compile -library=libextras.a mxc_usb.c
265 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
266 display "Include POSIX checksum command"
267 doc ref/cksum-command.html
269 compile -library=libextras.a cksum.c
272 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
273 display "Include memory fill command"
274 doc ref/mfill-command.html
276 compile -library=libextras.a mfill.c
279 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
280 display "Include memory compare command"
281 doc ref/mcmp-command.html
283 compile -library=libextras.a mcmp.c
286 cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
287 display "Include memory copy command"
288 doc ref/mcopy-command.html
290 compile -library=libextras.a mcopy.c
293 cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
294 display "Include memory dump command"
295 doc ref/dump-command.html
297 compile -library=libextras.a dump.c
300 cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
301 display "Include cache command"
302 doc ref/cache-command.html
304 compile -library=libextras.a caches.c
307 cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
308 display "Include exec command"
309 doc ref/exec-command.html
311 # Implemented within the platform HAL
314 cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
315 display "Include I/O Memory commands 'iopeek' and 'iopoke'"
317 compile -library=libextras.a iomem.c
322 This option enables the building of the Redboot ELF image.
323 The image may require further relocation or symbol
324 stripping before being converted to a binary image.
325 This is handled by a rule in the target CDL."
328 cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
329 display "Granularity of timer/ticks"
331 legal_values { 10 25 50 100 250 500 1000 }
334 This option controls the granularity of the timers.
335 Faster CPUs can afford higher granularity (lower values)
336 which should give higher network performance since the stack
341 compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
342 compile -library=libextras.a load.c
345 <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
346 @sh -c "mkdir -p $(dir $@)"
347 $(CC) -c $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
348 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
351 cdl_component CYGPKG_REDBOOT_NETWORKING {
352 display "Redboot Networking"
354 active_if CYGPKG_IO_ETH_DRIVERS
356 implements CYGINT_REDBOOT_LOAD_METHOD
357 compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
358 compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
359 compile net/inet_addr.c
360 compile -library=libextras.a net/ping.c net/net_io.c
361 description "This option includes networking support in RedBoot."
363 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
366 cdl_option CYGDBG_REDBOOT_NET_DEBUG {
367 display "Print net debug information"
371 This option is overriden by the configuration stored
375 cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
376 display "Support TFTP for download"
379 compile -library=libextras.a net/tftp_client.c
381 This option enables the use of the TFTP protocol for
385 cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
386 display "Support HTTP for download"
389 compile -library=libextras.a net/http_client.c
391 This option enables the use of the HTTP protocol for
395 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
396 display "Default IP address"
398 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
401 This IP address is the default used by RedBoot if
402 a BOOTP/DHCP server does not respond. The numbers
403 should be separated by *commas*, and not dots. If
404 an IP address is configured into the Flash
405 configuration, that will be used in preference."
407 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
408 display "Do not try to use BOOTP"
412 By default Redboot tries to use BOOTP to get an IP
413 address. If there's no BOOTP server on your network
414 use this option to avoid to wait until the
415 timeout. This option is overriden by the
416 configuration stored in flash."
418 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
419 display "Default bootp server"
421 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
424 This IP address is the default server
425 address used by RedBoot if a BOOTP/DHCP
426 server does not respond. The numbers should
427 be separated by *commas*, and not dots. If
428 an IP address is configured into the Flash
429 configuration, that will be used in
434 cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
435 display "Use DHCP to get IP information"
439 Use DHCP protocol to obtain pertinent IP addresses, such
440 as the client, server, gateway, etc."
443 cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
444 display "Use a gateway for non-local IP traffic"
447 requires CYGSEM_REDBOOT_NETWORKING_DHCP
449 Enabling this option will allow the RedBoot networking
450 stack to use a \[single\] gateway to reach a non-local
451 IP address. If disabled, RedBoot will only be able to
452 reach nodes on the same subnet."
454 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
455 display "Default gateway IP address"
457 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
460 This IP address is the default used by RedBoot
461 if a BOOTP/DHCP server does not respond. The
462 numbers should be separated by *commas*, and
463 not dots. If an IP address is configured into
464 the Flash configuration, that will be used in
468 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
469 display "Default IP address mask"
471 default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
472 { "255, 255, 255, 0" }
474 This IP address mask is the default used by
475 RedBoot if a BOOTP/DHCP server does not
476 respond. The numbers should be separated by
477 *commas*, and not dots. If an IP address is
478 configured into the Flash configuration, that
479 will be used in preference."
483 cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
484 display "TCP port to listen for incoming connections"
488 RedBoot will 'listen' on this port for incoming TCP
489 connections. This allows outside connections to be made
490 to the platform, either for GDB or RedBoot commands."
493 cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
494 display "Number of \[network\] packet buffers"
499 RedBoot may need to buffer network data to support
500 various connections. This option allows control
501 over the number of such buffered packets, and in
502 turn, controls the amount of memory used by RedBoot
503 (which is not available to user applications).
504 Each packet buffer takes up about 1514 bytes.
505 Note: there is little need to make this larger than
509 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
510 display "DNS support"
512 active_if CYGPKG_NS_DNS
513 requires !CYGPKG_NS_DNS_BUILD
516 When this option is enabled, RedBoot will be built with
517 support for DNS, allowing use of hostnames on the command
520 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
521 display "Default DNS IP"
523 active_if !CYGSEM_REDBOOT_FLASH_CONFIG
524 default_value { "0.0.0.0" }
526 This option sets the IP of the default DNS. The IP can be
527 changed at runtime as well."
530 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
531 display "Timeout in DNS lookup"
535 This option sets the timeout used when looking up an
536 address via the DNS. Default is 10 seconds."
541 cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
542 display "Default network device driver"
544 active_if { CYGSEM_REDBOOT_FLASH_CONFIG && CYGHWR_NET_DRIVERS > 1 }
545 default_value { "\"\"" }
547 This is the name of the default network device to use."
550 cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
551 display "Initialize only one net device"
553 active_if { CYGHWR_NET_DRIVERS > 1 }
556 This option tells RedBoot to stop initializing network
557 devices when it finds the first device which is
558 successfully initialized. The default behavior causes
559 all network devices to be initialized."
563 cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
564 display "Let RedBoot use any I/O channel for its console."
568 If this option is enabled then RedBoot will attempt to use all
569 defined serial I/O channels for its console device. Once input
570 arrives at one of these channels then the console will use only
574 cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
575 display "Let RedBoot adjust the baud off the serial console."
578 active_if CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
580 If this option is enabled then RedBoot will support commands
581 to set and query the baud rate on the selected console."
584 cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
585 display "Run a platform specific startup function."
589 If this option is enabled then RedBoot will execute a platform
590 specific startup function before entering into its command line
591 processing. This allows the platform to perform any special
592 setups before RedBoot actually starts running. Note: the entire
593 RedBoot environment will already be initialized at this point."
596 cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
597 display "Run a platform specific ESA validation function."
601 If this option is enabled then RedBoot will execute a platform
602 specific function to validate an ethernet ESA. This would be
603 useful if the address must conform to standards set by the
604 hardware manufacturer, etc."
607 cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
608 display "Maximum command line length"
612 This option allows control over how long the CLI command line
613 should be. This space will be allocated statically
614 rather than from RedBoot's stack."
617 cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
618 display "Command processing idle timeout (ms)"
622 This option controls the timeout period before the
623 command processing is considered 'idle'. Making this
624 number smaller will cause idle processing to take place
625 more often, etc. The default value of 10ms is a reasonable
626 tradeoff between responsiveness and overhead."
629 cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
630 display "Validate RAM addresses during load"
635 This option controls whether or not RedBoot will make
636 sure that memory being used by the \"load\" command is
637 in fact in user RAM. Leaving the option enabled makes
638 for a safer environment, but this check may not be valid
639 on all platforms, thus the ability to disable it.
640 ** Disable this only with great care **"
643 cdl_component CYGPKG_REDBOOT_FLASH {
644 display "Allow RedBoot to support FLASH programming"
647 active_if CYGHWR_IO_FLASH_DEVICE
649 If this option is enabled then RedBoot will provide commands
650 to manage images in FLASH memory. These images can be loaded
651 into memory for execution or executed in place."
652 compile -library=libextras.a flash.c
654 cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
655 display "Byte order used to store info in flash."
657 default_value { "NATURAL" }
658 legal_values {"NATURAL" "MSBFIRST" "LSBFIRST" }
660 This option controls the byte ordering used to store
661 the FIS directory info and flash config info."
664 cdl_option CYGOPT_REDBOOT_FIS {
665 display "RedBoot Flash Image System support"
667 doc ref/flash-image-system.html
669 This option enables the Flash Image System commands
670 and support within RedBoot. If disabled, simple Flash
671 access commands such as \"fis write\" will still exist.
672 This option would be disabled for targets that need simple
673 FLASH manipulation, but do not have the need or space for
674 complete image management."
677 cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
678 display "Max number of chunks of free space to manage"
683 If this option is defined then \"fis free\" will
684 rely on the FIS directory to determine what space is
685 free within the FLASH. This option controls the
686 maximum number of free segment which can be handled
687 (typically this number is small). If this option is
688 not enabled, the the archaic behaviour of actually
689 scanning the FLASH for erased sectors (unreliable)
690 will be used to determine what's free and what's
694 cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
695 display "Flash Image System default directory contents"
696 active_if CYGOPT_REDBOOT_FIS
699 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
700 display "Flash block containing the Directory"
704 Which block of flash should hold the directory
705 information. Positive numbers are absolute block
706 numbers. Negative block numbers count backwards
707 from the last block. eg 2 means block 2, -2
708 means the last but one block."
711 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
712 display "Pseudo-file to describe reserved area"
713 active_if { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
716 If an area of FLASH is reserved, it is informative to
717 have a fis entry describing it. This option controls
718 creation of such an entry by default in the fis init
722 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
723 display "File to describe RedBoot boot image"
726 Normally a ROM-startup RedBoot image is first in the
727 FLASH, and the system boots using that image. This
728 option controls creation of an entry describing it in
729 the fis init command. It might be disabled if a
730 platform has an immutable boot image of its own, where
731 we use a POST-startup RedBoot instead, which performs
732 less board initialization."
735 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
736 display "File to describe RedBoot POST-compatible image"
737 default_value !CYGOPT_REDBOOT_FIS_REDBOOT
739 This option controls creation of an entry describing a
740 POST-startup RedBoot image in the fis init command.
741 Not all platforms support POST-startup. A platform
742 might have both for testing purposes, where the
743 eventual user would substitute their own POST code for
744 the initial ROM-startup RedBoot, and then jump to the
745 POST-compatible RedBoot immediately following."
746 cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
747 display "Offset of POST image from FLASH start"
750 requires { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
751 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
753 This option specifies the offset for a POST image from
754 the start of FLASH. If unset, then the fis entry
755 describing the POST image will be placed where
760 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
761 display "File to describe RedBoot backup image"
764 This option controls creation of an entry describing a
765 backup RedBoot image in the fis init command.
766 Conventionally a RAM-startup RedBoot image is kept
767 under this name for use in updating the ROM-based
768 RedBoot that boots the board."
771 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
772 display "Include ARM SIB ID in FIS"
775 If set, this option will cause the last 5 words of
776 the FIS to include the special ID needed for the
777 flash to be recognized as a reserved area for RedBoot
778 by an ARM BootRom monitor."
781 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
782 display "Size of FIS directory entry"
786 The FIS directory is limited to one single flash
787 sector. If your flash has tiny sectors, you may wish
788 to reduce this value in order to get more slots in
792 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
793 display "Number of FIS directory entries"
797 The FIS directory normally occupies a single flash
798 sector. Adjusting this value can allow for more than
799 one flash sector to be used, which is useful if your
800 sectors are very small."
803 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
804 display "Maximum RedBoot image size"
806 default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 }
808 This option controls the maximum length reserved
809 for the RedBoot boot image in the FIS table.
810 This should be a multiple of the flash's erase
814 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
815 display "Offset from start of FLASH to RedBoot boot image"
817 default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
818 requires { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
819 CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
821 This option controls where the RedBoot boot image is
822 located relative to the start of FLASH."
825 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
826 display "Size of reserved area at start of FLASH"
830 This option reserves an area at the start of
831 FLASH where RedBoot will never interfere; it is
832 expected that this area contains
833 (non-RedBoot-based) POST code or some other boot
834 monitor that executes before RedBoot."
838 cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
839 display "Keep all RedBoot FLASH data blocks locked."
842 active_if { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
844 When this option is enabled, RedBoot will keep configuration
845 data and the FIS directory blocks implicitly locked. While
846 this is somewhat safer, it does add overhead during updates."
849 cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
850 display "Use CRC checksums on FIS images."
854 When this option is enabled, RedBoot will use CRC checksums
855 when reading and writing flash images."
858 cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
859 display "ARM FLASH drivers support SIB flash block structure"
860 active_if CYGPKG_HAL_ARM
861 description "This interface is implemented by a flash driver
862 to indicate that it supports the ARM SIB flash
866 cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
867 display "Use ARM SIB flash block structure"
869 active_if CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
872 This option is used to interpret ARM Flash System
877 cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
878 display "Keep RedBoot configuration data in FLASH"
880 default_value { CYGPKG_IO_FLASH != 0 }
883 When this option is enabled, RedBoot will keep configuration
884 data in a separate block of FLASH memory. This data will
885 include such items as the node IP address or startup scripts."
887 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
888 display "Length of configuration data in FLASH"
892 This option is used to control the amount of memory and FLASH
893 to be used for configuration options (persistent storage)."
896 cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
897 display "Style of media used for persistent data storage"
899 legal_values { "FLASH" "EEPROM" }
900 default_value { "FLASH" }
902 Persistent data storage can either be held in 'norma' FLASH
903 or some other device (represented by the 'EEPROM' choice).
904 The different styles utilize different access methods."
907 cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
908 display "Merged config data and FIS directory"
910 active_if { CYGOPT_REDBOOT_FIS && \
911 (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
914 If this option is set, then the FIS directory and FLASH
915 configuration database will be stored in the same physical
919 cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
920 display "Which block of flash to use"
924 Which block of flash should hold the configuration
925 information. Positive numbers are absolute block numbers.
926 Negative block numbers count backwards from the last block.
927 eg 2 means block 2, -2 means the last but one block."
930 cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
931 display "Support simple macros/aliases in FLASH"
935 This option is used to allow support for simple text-based
936 macros (aliases). These aliases are kept in the FLASH
937 configuration data (persistent storage)."
940 cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
941 display "Length of strings in FLASH configuration data"
945 This option is used to control the amount of memory
946 and FLASH to be used for string configuration
947 options (persistent storage)."
950 cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
951 display "Length of configuration script(s) in FLASH"
955 This option is used to control the amount of memory and
956 FLASH to be used for configuration options (persistent
960 cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
961 display "Fallback to read-only FLASH configuration"
963 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
965 This option will cause the configuration information to
966 revert to the readonly information stored in the FLASH.
967 The option only takes effect after
968 1) the config_ok flag has been set to be true,
969 indicating that at one time the copy in RAM was valid;
971 2) the information in RAM has been verified to be invalid"
976 cdl_component CYGPKG_REDBOOT_FILEIO {
977 display "Allow RedBoot to support fileio"
980 active_if CYGPKG_IO_FILEIO
982 If this option is enabled then RedBoot will provide commands
983 to load files from fileio file systems such as JFFS2."
984 compile -library=libextras.a fs/fileio.c
986 cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
987 display "Include an ls command"
991 If this option is enabled a simple ls command will be
992 included in redboot so the contents of a directory
997 cdl_component CYGPKG_REDBOOT_DISK {
998 display "Allow RedBoot to support disks"
1002 If this option is enabled then RedBoot will provide commands
1003 to load disk files."
1005 cdl_option CYGSEM_REDBOOT_DISK {
1006 display "Include Redboot commands for disk access"
1007 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
1008 compile -library=libextras.a fs/disk.c
1011 cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
1012 display "Hardware drivers for disk-type devices"
1015 cdl_option CYGNUM_REDBOOT_MAX_DISKS {
1016 display "Maximum number of supported disks"
1020 This option controls the number of disks supported by
1024 cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
1025 display "Maximum number of partitions per disk"
1029 This option controls the maximum number of supported
1030 partitions per disk."
1033 cdl_component CYGSEM_REDBOOT_DISK_IDE {
1034 display "Support IDE disks."
1037 active_if { CYGINT_HAL_PLF_IF_IDE != 0 }
1039 When this option is enabled, RedBoot will support IDE disks."
1040 compile -library=libextras.a fs/ide.c
1041 implements CYGINT_REDBOOT_DISK_DRIVERS
1043 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
1044 display "Work with VMware virtual disks"
1048 This option controls the disk driver behavior at
1053 cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1054 display "Support Linux second extended filesystems."
1058 When this option is enabled, RedBoot will support IDE disks."
1059 compile -library=libextras.a fs/e2fs.c
1062 cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1063 display "Support ISO9660 filesystems."
1067 When this option is enabled, RedBoot will support ISO9660
1069 compile -library=libextras.a fs/iso9660fs.c
1073 cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1074 display "Boot scripting"
1075 doc ref/persistent-state-flash.html
1079 This contains options related to RedBoot's boot script
1082 cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1083 display "Boot scripting enabled"
1085 active_if { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1086 CYGSEM_REDBOOT_FLASH_CONFIG }
1089 This option controls whether RedBoot boot script
1090 functionality is enabled."
1093 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1094 display "Use default RedBoot boot script"
1098 If enabled, this option will tell RedBoot to use the
1099 value of this option as a default boot script."
1102 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1103 display "Resolution (in ms) for script timeout value."
1107 This option controls the resolution of the script
1108 timeout. The value is specified in milliseconds
1109 (ms), thus to have the script timeout be defined in
1110 terms of tenths of seconds, use 100."
1113 cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1114 display "Script default timeout value"
1118 This option is used to set the default timeout for startup
1119 scripts, when they are enabled."
1123 cdl_option CYGSEM_REDBOOT_RTC {
1124 display "Support RTC for time & date functions"
1125 active_if { CYGPKG_IO_WALLCLOCK }
1128 When this option is enabled, RedBoot will support commands to
1129 query and set the real time clock (time and date)"
1130 compile -library=libextras.a time_date.cxx
1133 cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1134 display "Behave like a ROM monitor"
1135 active_if { CYG_HAL_STARTUP == "ROM" || \
1136 CYG_HAL_STARTUP == "ROMRAM" }
1137 requires CYGSEM_HAL_ROM_MONITOR
1141 Enabling this option will allow RedBoot to provide ROM
1142 monitor-style services to programs which it executes."
1145 cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1146 display "Allow RedBoot to handle GNUPro application 'syscalls'."
1150 If this option is enabled then RedBoot will install a
1151 syscall handler to support debugging of applications
1152 based on GNUPro newlib/bsp."
1154 cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1155 display "Support additional syscalls for 'gprof' profiling"
1158 active_if { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1160 Support additional syscalls to support a periodic callback
1161 function for histogram-style profiling, and an enquire/set
1163 The application must use the GNUPro newlib facilities
1167 cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1168 display "Does the HAL support 'gprof' profiling?"
1172 cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1173 display "Do not raise SIGTRAP when program exits"
1176 For some (single shot) newlib based programs,
1177 exiting and returning a termination status may be
1178 the normal expected behavior."
1182 cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1183 display "Use a common buffer for Zlib and FIS"
1185 active_if { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1186 CYGOPT_REDBOOT_FIS }
1189 Use a common memory buffer for both the zlib workspace
1190 and FIS directory operations. This can save a substantial
1191 amount of RAM, especially when flash sectors are large."
1193 cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1194 display "Size of Zlib/FIS common buffer"
1196 default_value 0xc000
1197 legal_values 0x4000 to 0x80000000
1199 Size of common buffer to allocate. Must be at least the
1200 size of one flash sector."
1203 cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1204 display "Buffer size in getc when loading images"
1206 default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1208 When loading images a buffer is used between redboot and the
1209 underlying storage medium, eg a filesystem, or a socket etc.
1210 The size of this buffer can have a big impart on load speed."