📄 redboot.cdl
字号:
# ====================================================================
#
# redboot.cdl
#
# Redboot package configuration data
#
# ====================================================================
#####COPYRIGHTBEGIN####
#
# -------------------------------------------
# The contents of this file are subject to the Red Hat eCos Public License
# Version 1.1 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.redhat.com/
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# License for the specific language governing rights and limitations under
# the License.
#
# The Original Code is eCos - Embedded Configurable Operating System,
# released September 30, 1998.
#
# The Initial Developer of the Original Code is Red Hat.
# Portions created by Red Hat are
# Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
# All Rights Reserved.
# -------------------------------------------
#
#####COPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): gthomas
# Original data: gthomas
# Contributors:
# Date: 2000-05-01
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_REDBOOT {
display "Redboot ROM monitor"
define_header redboot.h
description "
This package supports the Redboot \[stand-alone debug monitor\]
using eCos as the underlying board support mechanism."
# Since the CYGDAT_REDBOOT_CONSOLE_DEV setting ends up in the platform
# HAL header, we need to include that here (via hal.h).
define_proc {
puts $::cdl_header "#include <pkgconf/hal.h>"
}
cdl_component CYGBLD_BUILD_REDBOOT {
display "Build Redboot ROM ELF image"
default_value 0
requires CYGPKG_INFRA
# Someday the tools will handle this
# requires { CYGINT_HAL_DEBUG_GDB_STUBS implies CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }
# requires { CYGINT_HAL_DEBUG_GDB_STUBS implies CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT }
#
requires { !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }
requires { !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT }
#
requires ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
requires CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
display "Threads debugging support"
no_define
description "
Enabling this option will include special code in the GDB stubs to
support debugging of threaded programs. In the case of eCos programs,
this support allows GDB to have complete access to the eCos threads
in the program."
active_if { CYG_HAL_STARTUP != "RAM" }
requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
}
cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
display "Customized version string"
flavor booldata
default_value 0
description "
Use this option to define a customized version \"string\" for
RedBoot. Note: this value is only cosmetic, displayed by the
\"version\" command, but is useful for providing site specific
information about the RedBoot configuration."
}
no_define
description "This option enables the building of the Redboot ELF image.
The image may require further relocation or symbol
stripping before being converted to a binary image.
This is handled by a rule in the target CDL."
compile main.c crc.c
compile printf.c misc_funs.c io.c parse.c ticks.c xyzModem.c syscall.c
compile decompress.c
compile -library=libextras.a load.c
make -priority 320 {
<PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
@sh -c "mkdir -p $(dir $@)"
$(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
$(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
}
}
cdl_component CYGPKG_REDBOOT_NETWORKING {
display "Redboot Networking"
flavor bool
active_if CYGPKG_IO_ETH_DRIVERS
default_value 1
compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
compile net/tftp_client.c net/net_io.c net/inet_addr.c
compile -library=libextras.a net/ping.c
description "This option includes networking support in RedBoot."
define_proc {
puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
}
cdl_option CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
display "Default IP address"
flavor booldata
default_value CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
{ "0, 0, 0, 0" }
description "
This IP address is the default used by RedBoot if a BOOTP/DHCP
server does not respond. The numbers should be separated by
*commas*, and not dots. If an IP address is configured into
the Flash configuration, that will be used in preference."
}
cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
display "TCP port to listen for incoming connections"
flavor data
default_value 9000
description "
RedBoot will 'listen' on this port for incoming TCP connections.
This allows outside connections to be made to the platform, either
for GDB or RedBoot commands."
}
cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
display "Number of \[network\] packet buffers"
flavor data
default_value 4
legal_values 3 to 8
description "
RedBoot may need to buffer network data to support various connections.
This option allows control over the number of such buffered packets,
and in turn, controls the amount of memory used by RedBoot (which
is not available to user applications). Each packet buffer takes up
about 1514 bytes. Note: there is little need to make this larger
than the default."
}
}
cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
display "Allow RedBoot to use any I/O channel for it's console."
flavor bool
default_value 1
description "
If this option is enabled then RedBoot will attempt to use all
defined serial I/O channels for it's console device. Once input
arrives at one of these channels then the console will use only
that port."
}
cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
display "Allow RedBoot to adjust the baud rate on the serial console."
flavor bool
default_value 0
description "
If this option is enabled then RedBoot will support commands to set
and query the baud rate on the selected console."
}
cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
display "Maximum command line length"
flavor data
default_value 256
description "
This option allows control over how long the CLI command line
should be. This space will be allocated statically
rather than from RedBoot's stack."
}
cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
display "Command processing idle timeout (ms)"
flavor data
default_value 10
description "
This option controls the timeout period before the
command processing is considered 'idle'. Making this
number smaller will cause idle processing to take place
more often, etc. The default value of 10ms is a reasonable
tradeoff between responsiveness and overhead."
}
cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
display "Size of zlib decompression buffer"
active_if CYGPKG_COMPRESS_ZLIB
flavor data
default_value 64
legal_values 5 to 256
description "
This is the size of the buffer filled with incoming data
during load before calls are made to the decompressor
function. For ethernet downloads this can be made bigger
(at the cost of memory), but for serial downloads on slow
processors it may be necessary to reduce the size to
avoid serial overruns. zlib appears to bail out if less than
five bytes are available initially so this is the minimum."
}
cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
display "Validate RAM addresses during load"
flavor bool
default_value 1
description "
This option controls whether or not RedBoot will make sure that
memory being used by the \"load\" command is in fact in user RAM.
Leaving the option enabled makes for a safer environment, but this
check may not be valid on all platforms, thus the ability to
disable it. ** Disable this only with great care **"
}
cdl_component CYGPKG_REDBOOT_FLASH {
display "Allow RedBoot to support FLASH programming"
flavor bool
default_value 1
active_if CYGPKG_IO_FLASH
description "
If this option is enabled then RedBoot will provide commands
to manage images in FLASH memory. These images can be loaded
into memory for execution or executed in place."
compile -library=libextras.a flash.c
cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
display "Minimum image size"
flavor data
default_value 0x20000
description "
This option controls the minimum length of images kept by
the FIS. In particular, it should be large enough to hold
the RedBoot primary image itself, as well as be a natural
multiple of the FLASH erase block size."
}
cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
display "Offset from start of FLASH to RedBoot boot image"
flavor data
default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
requires { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
description "
This option controls where the RedBoot boot image is located
relative to the start of FLASH."
}
cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
display "Size of reserved area at start of FLASH"
flavor data
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -