This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: build redboot from the source code


I'm still not there.  Maybe this will help.  In the SA-1110 Developer's
Manual page 11-2

Serial Port0    Serial Port1   Serial Port2  Serial Port3  Serial Port 4
   UCD            GPCLK/UART       IPC            UART         MCP/SSP


Is it correct to assume that what eCos calles Serial Port 0 on UART 3 is
what Intel is describing as Serial Port 3 using signals TXD3 and RXD3?

For my board, I only have 1 DB9 connector.  The lines TXD1, TXD2 and TXD3
are tied
together, as are RXD1, RXD2, and RXD3.  I could see if redboot was going
down and
trying to read/write through all the IO ports that I could have problems, as
described
below by Nathan and Gary.

I compiled redboot and loaded it into the beginning of Flash using a Linux
version of
JFlash.  When I reboot the ARM, I get

<space><CR>
Redboo

Under minicom. If I change the baud rate to 38400 and reboot I see

<space> C.

Any help or suggetions are where to go from here would be appreciated.  I am

including the ecos.ecc file I used to compile redboot.

# eCos saved configuration

# ---- commands --------------------------------------------------------
# This section contains information about the savefile format.
# It should not be edited. Any modifications made to this section
# may make it impossible for the configuration tools to read
# the savefile.

cdl_savefile_version 1;
cdl_savefile_command cdl_savefile_version {};
cdl_savefile_command cdl_savefile_command {};
cdl_savefile_command cdl_configuration { description hardware template
package };
cdl_savefile_command cdl_package { value_source user_value wizard_value
inferred_value };
cdl_savefile_command cdl_component { value_source user_value wizard_value
inferred_value };
cdl_savefile_command cdl_option { value_source user_value wizard_value
inferred_value };
cdl_savefile_command cdl_interface { value_source user_value wizard_value
inferred_value };

# ---- toplevel --------------------------------------------------------
# This section defines the toplevel configuration object. The only
# values that can be changed are the name of the configuration and
# the description field. It is not possible to modify the target,
# the template or the set of packages simply by editing the lines
# below because these changes have wide-ranging effects. Instead
# the appropriate tools should be used to make such modifications.

cdl_configuration eCos {
    description "" ;

    # These fields should not be modified.
    hardware    travis ;
    template    redboot ;
    package -hardware CYGPKG_HAL_ARM current ;
    package -hardware CYGPKG_HAL_ARM_SA11X0 current ;
    package -hardware CYGPKG_HAL_ARM_SA11X0_TRAVIS current ;
    package -hardware CYGPKG_IO_SERIAL_ARM_SA11X0 current ;
    package -template CYGPKG_HAL current ;
    package -template CYGPKG_INFRA current ;
    package -template CYGPKG_REDBOOT current ;
};

# ---- conflicts -------------------------------------------------------
# There are no conflicts.

# ---- contents --------------------------------------------------------
# >
# >
# Global build options
# Global build options including control over
# compiler flags, linker flags and choice of toolchain.
#
cdl_component CYGBLD_GLOBAL_OPTIONS {
    # There is no associated value.

    # The following properties are affected by this value
};

# >
# Global command prefix
# This option specifies the command prefix used when
# invoking the build tools.
#
cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value arm-elf
    # value_source default
    # Default value: arm-elf
};

# Global compiler flags
# This option controls the global compiler flags which are used to
# compile all packages by default. Individual packages may define
# options which override these global flags.
#
cdl_option CYGBLD_GLOBAL_CFLAGS {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value "-mcpu=strongarm1100 -Wall -Wpointer-arith
-Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2
-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc
-finit-priority"
    # value_source default
    # Default value: "-mcpu=strongarm1100 -Wall -Wpointer-arith
-Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2
-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc
-finit-priority"
};

# Global linker flags
# This option controls the global linker flags. Individual
# packages may define options which override these global flags.
#
cdl_option CYGBLD_GLOBAL_LDFLAGS {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib"
    # value_source default
    # Default value: "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib"
};

# Build GDB stub ROM image
# This option enables the building of the GDB stubs for the
# board. The common HAL controls takes care of most of the
# build process, but the final conversion from ELF image to
# binary data is handled by the platform CDL, allowing
# relocation of the data if necessary.
#
cdl_option CYGBLD_BUILD_GDB_STUBS {
    # Flavor: bool
    user_value 0
    # value_source user
    # Default value: 0
    # Requires:  CYG_HAL_STARTUP == "ROM" 
    #     CYG_HAL_STARTUP == ROM
    #   --> 1
    # Requires: CYGSEM_HAL_ROM_MONITOR
    #     CYGSEM_HAL_ROM_MONITOR == 1
    #   --> 1
    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
    #   --> 0
    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
    #   --> 1
    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
    #   --> 1
    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
    #   --> 1
    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
    #   --> 1
    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
    #   --> 1
};

# Build common GDB stub ROM image
# Unless a target board has specific requirements to the
# stub implementation, it can use a simple common stub.
# This option, which gets enabled by platform HALs as
# appropriate, controls the building of the common stub.
#
cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
    #   --> 1

    # The following properties are affected by this value
    # option CYGBLD_BUILD_GDB_STUBS
    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
};

# <
# ARM SA11X0 serial device drivers
# doc: redirect/ecos-device-drivers.html
# This option enables the serial device drivers for the
# StrongARM SA11X0.
#
cdl_package CYGPKG_IO_SERIAL_ARM_SA11X0 {
    # Packages cannot be added or removed, nor can their version be changed,
    # simply by editing their value. Instead the appropriate configuration
    # should be used to perform these actions.

    # This option is not active
    # ActiveIf constraint: CYGPKG_IO_SERIAL
    #     CYGPKG_IO_SERIAL (unknown) == 0
    #   --> 0
    # ActiveIf constraint: CYGPKG_HAL_ARM_SA11X0
    #     CYGPKG_HAL_ARM_SA11X0 == current
    #   --> 1

    # This value cannot be modified here.
    # Flavor: booldata
    # Current value: 1 current
    # Requires: CYGPKG_ERROR
    #     CYGPKG_ERROR (unknown) == 0
    #   --> 0
};

# >
# ARM SA11X0 serial port 0 driver
# This option includes the serial device driver for the ARM SA11X0 
# port 0 (UART 3).
#
cdl_component CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL0 {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0 is not active

    # Flavor: bool
    user_value 1
    # value_source user
    # Default value: 0
};

# >
# Device name for ARM SA11X0 serial port 0 driver
# This option specifies the name of the serial device for the 
# ARM SA11X0 port 0.
#
cdl_option CYGDAT_IO_SERIAL_ARM_SA11X0_SERIAL0_NAME {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL0 is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value "\"/dev/ser0\""
    # value_source default
    # Default value: "\"/dev/ser0\""
};

# Baud rate for the ARM SA11X0 serial port 0 driver
# This option specifies the default baud rate (speed) for the 
# ARM SA11X0 port 0.
#
cdl_option CYGNUM_IO_SERIAL_ARM_SA11X0_SERIAL0_BAUD {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL0 is not active

    # Flavor: data
    user_value 115200
    # value_source user
    # Default value: 38400
    # Legal values:  50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
    #                           4800 7200 9600 14400 19200 38400 57600
115200 234000
    #             
};

# Buffer size for the ARM SA11X0 serial port 0 driver
# This option specifies the size of the internal buffers used 
# for the ARM SA11X0 port 0.
#
cdl_option CYGNUM_IO_SERIAL_ARM_SA11X0_SERIAL0_BUFSIZE {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL0 is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 128
    # value_source default
    # Default value: 128
    # Legal values: 0 to 8192
};

# <
# ARM SA11X0 serial port 1 driver
# This option includes the serial device driver for the ARM SA11X0 
# port 1 (UART 1).
#
cdl_component CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0 is not active

    # Flavor: bool
    user_value 0
    # value_source user
    # Default value: 1

    # The following properties are affected by this value
    # component CYGPKG_IO_SERIAL_ARM_SA11X0_TESTING
    #     ActiveIf: CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1
};

# >
# Device name for ARM SA11X0 serial port 1 driver
# This option specifies the name of the serial device for the 
# ARM SA11X0 port 1.
#
cdl_option CYGDAT_IO_SERIAL_ARM_SA11X0_SERIAL1_NAME {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is disabled

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value "\"/dev/ser1\""
    # value_source default
    # Default value: "\"/dev/ser1\""

    # The following properties are affected by this value
    # option CYGPRI_SER_TEST_SER_DEV
    #     DefaultValue:  CYGDAT_IO_SERIAL_ARM_SA11X0_SERIAL1_NAME 
};

# Baud rate for the ARM SA11X0 serial port 1 driver
# This option specifies the default baud rate (speed) for the
# ARM SA11X0 port 1.
#
cdl_option CYGNUM_IO_SERIAL_ARM_SA11X0_SERIAL1_BAUD {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is disabled

    # Flavor: data
    user_value 115200
    # value_source user
    # Default value: 38400
    # Legal values:  50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
    #                           4800 7200 9600 14400 19200 38400 57600
115200 234000
    #             
};

# Buffer size for the ARM SA11X0 serial port 1 driver
# This option specifies the size of the internal buffers used 
# for the ARM SA11X0 port 1.
#
cdl_option CYGNUM_IO_SERIAL_ARM_SA11X0_SERIAL1_BUFSIZE {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 is disabled

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 128
    # value_source default
    # Default value: 128
    # Legal values: 0 to 8192
};

# <
# Serial device driver build options
# Package specific build options including control over
# compiler flags used only in building this package,
# and details of which tests are built.
#
cdl_component CYGPKG_IO_SERIAL_ARM_SA11X0_OPTIONS {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0 is not active

    # There is no associated value.
};

# >
# Additional compiler flags
# This option modifies the set of compiler flags for
# building these serial device drivers. These flags are used in addition
# to the set of global flags.
#
cdl_option CYGPKG_IO_SERIAL_ARM_SA11X0_CFLAGS_ADD {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_OPTIONS is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value ""
    # value_source default
    # Default value: ""
};

# Suppressed compiler flags
# This option modifies the set of compiler flags for
# building these serial device drivers. These flags are removed from
# the set of global flags if present.
#
cdl_option CYGPKG_IO_SERIAL_ARM_SA11X0_CFLAGS_REMOVE {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_OPTIONS is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value ""
    # value_source default
    # Default value: ""
};

# <
# Testing parameters
#
cdl_component CYGPKG_IO_SERIAL_ARM_SA11X0_TESTING {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0 is not active
    # ActiveIf constraint: CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1
    #     CYGPKG_IO_SERIAL_ARM_SA11X0_SERIAL1 == 0
    #   --> 0

    # Calculated value: 1
    # Flavor: bool
    # Current value: 1
};

# >
# Serial device used for testing
#
cdl_option CYGPRI_SER_TEST_SER_DEV {
    # This option is not active
    # The parent CYGPKG_IO_SERIAL_ARM_SA11X0_TESTING is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value:  CYGDAT_IO_SERIAL_ARM_SA11X0_SERIAL1_NAME 
    #     CYGDAT_IO_SERIAL_ARM_SA11X0_SERIAL1_NAME == 0
    #   --> 0
};

# <
# <
# <
# eCos HAL
# doc: redirect/the-ecos-hardware-abstraction-layer-hal.html
# The eCos HAL package provide a porting layer for
# higher-level parts of the system such as the kernel and the
# C library. Each installation should have HAL packages for
# one or more architectures, and for each architecture there
# may be one or more supported platforms. It is necessary to
# select one target architecture and one platform for that
# architecture. There are also a number of configuration
# options that are common to all HAL packages.
#
cdl_package CYGPKG_HAL {
    # Packages cannot be added or removed, nor can their version be changed,
    # simply by editing their value. Instead the appropriate configuration
    # should be used to perform these actions.

    # This value cannot be modified here.
    # Flavor: booldata
    # Current value: 1 current

    # The following properties are affected by this value
};

# >
# Platform-independent HAL options
# A number of configuration options are common to most or all
# HAL packages, for example options controlling how much state
# should be saved during a context switch. The implementations
# of these options will vary from architecture to architecture.
#
cdl_component CYGPKG_HAL_COMMON {
    # There is no associated value.
};

<snip >


 cdl_option CYGSEM_HAL_DIAG_MANGLER {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value GDB
    # value_source default
    # Default value: GDB
    # Legal values: "GDB" "None"
};

# <
# <
# HAL interrupt handling
# A number of configuration options related to interrupt
# handling are common to most or all HAL packages, even though
# the implementations will vary from architecture to
# architecture.
#
cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
    # There is no associated value.
};


# <
# ROM monitor support
# Support for ROM monitors can be built in to your application. 
# It may also be relevant to build your application as a ROM monitor
# itself. Such options are contained here if relevant for your chosen
# platform. The options and ROM monitors available to choose are
# platform-dependent.
#
cdl_component CYGPKG_HAL_ROM_MONITOR {
    # There is no associated value.

    # The following properties are affected by this value
};

# >
# Target has virtual vector support
#
cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
    # Implemented by CYGPKG_HAL_ARM_SA11X0_TRAVIS, active, enabled
    # This value cannot be modified here.
    # Flavor: data
    # Current_value: 1

    # The following properties are affected by this value
    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
};

# The platform port predates virtual vectors
# Many platform HALs have adopted the virtual vector support
# only after its introduction. On those platforms, old ROM
# monitors will not provide the necessary services - and
# so the use of these services should be disabled per default.
# Newer ports, however, guarantee to provide the necessary
# services in all ROM monitors, and so default to use the
# services.
#
cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED {
    # No options implement this inferface
    # This value cannot be modified here.
    # Flavor: data
    # Current_value: 0

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
    #     DefaultValue:  !CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED
&& !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" ||
!CYGSEM_HAL_USE_ROM_MONITOR ||
CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED 
};

# Target supports baud rate control via vectors
# Whether this target supports the __COMMCTL_GETBAUD
# and __COMMCTL_SETBAUD virtual vector comm control operations.
#
cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
    # No options implement this inferface
    # This value cannot be modified here.
    # Flavor: data
    # Current_value: 0

    # The following properties are affected by this value
    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
};

# Enable use of virtual vector calling interface
# Virtual vector support allows the HAL to let the ROM
# monitor handle certain operations. The virtual vector table
# defines a calling interface between applications running in
# RAM and the ROM monitor.
#
cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
    #   --> 1

    # Calculated value: 1
    # Flavor: bool
    # Current value: 1

    # The following properties are affected by this value
    # component CYGBLD_BUILD_REDBOOT
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
};

# >
# Inherit console settings from ROM monitor
# When this option is set, the application will inherit
# the console as set up by the ROM monitor. This means
# that the application will use whatever channel and
# mangling style was used by the ROM monitor when
# the application was launched.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
    # This option is not active
    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value:  !CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED  &&
!CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED == 0
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
    #   --> 0

    # The following properties are affected by this value
    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  &&
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
};

# Debug channel is configurable
# This option is a configuration hint - it is enabled
# when the HAL initialization code will make use
# of the debug channel configuration option.
#
cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
    # Flavor: bool
    # Current value: 1

    # The following properties are affected by this value
    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
};

# Console channel is configurable
# This option is a configuration hint - it is enabled
# when the HAL initialization code will make use
# of the console channel configuration option.
#
cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  &&
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 1
    # Flavor: bool
    # Current value: 0

    # The following properties are affected by this value
    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
};

# Initialize whole of virtual vector table
# This option will cause the whole of the virtual
# vector table to be initialized with dummy values on
# startup. When this option is enabled, all the
# options below must also be enabled - or the
# table would be empty when the application
# launches.
# On targets where older ROM monitors without
# virtual vector support may still be in use, it is
# necessary for RAM applictions to initialize the
# table (since all HAL diagnostics and debug IO
# happens via the table). The default setting of
# this option will see to this, but it is still
# possible to override the option when a target with
# a newer ROM monitor is used.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYG_HAL_STARTUP != "RAM" ||
!CYGSEM_HAL_USE_ROM_MONITOR ||
CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED 
    #     CYG_HAL_STARTUP == ROM
    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED == 0
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
    #   --> 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
};

# Claim virtual vector table entries by default
# By default most virtual vectors will be claimed by
# RAM startup configurations, meaning that the RAM
# application will provide the services. The
# exception is COMMS support (HAL
# diagnostics/debugging IO) which is left in the
# control of the ROM monitor.
# The reasoning behind this is to get as much of the
# code exercised during regular development so it
# is known to be working the few times a new ROM
# monitor or a ROM production configuration is used
# - COMMS are excluded only by necessity in order to
# avoid breaking an existing debugger connections
# (there may be ways around this).
# For production RAM configurations this option can
# be switched off, causing the appliction to rely on
# the ROM monitor for these services, thus
# saving some space.
# Individual vectors may also be left unclaimed,
# controlled by the below options (meaning that the
# associated service provided by the ROM monitor
# will be used).
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
    # This option is not active
    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
};

# Claim reset virtual vectors
# This option will cause the reset and kill_by_reset
# virtual vectors to be claimed.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
};

# Claim delay_us virtual vector
# This option will cause the delay_us
# virtual vector to be claimed.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
};

# Claim cache virtual vectors
# This option will cause the cache virtual vectors
# to be claimed.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
};

# Claim data virtual vectors
# This option will cause the data virtual vectors
# to be claimed. At present there is only one, used
# by the RedBoot ethernet driver to share diag output.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
};

# Claim comms virtual vectors
# This option will cause the communication tables
# that are part of the virtual vectors mechanism to
# be claimed. Note that doing this may cause an
# existing ROM monitor communication connection to
# be closed. For this reason, the option is disabled
# per default for normal application
# configurations.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  ||
CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
    #   --> 1

    # The following properties are affected by this value
    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
    #     DefaultValue:  !CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED
&& !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
};

# Do diagnostic IO via virtual vector table
# All HAL IO happens via the virtual vector table / comm
# tables when those tables are supported by the HAL.
# If so desired, the low-level IO functions can
# still be provided by the RAM application by
# enabling the CLAIM_COMMS option.
#
cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
    # Calculated value: 1
    # Flavor: bool
    # Current value: 1

    # The following properties are affected by this value
    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  ||
CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  ||
CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
};

# <
# Work with a ROM monitor
# Support can be enabled for different varieties of ROM monitor.
# This support changes various eCos semantics such as the encoding
# of diagnostic output, or the overriding of hardware interrupt
# vectors.
# Firstly there is "Generic" support which prevents the HAL
# from overriding the hardware vectors that it does not use, to
# instead allow an installed ROM monitor to handle them. This is
# the most basic support which is likely to be common to most
# implementations of ROM monitor.
# "GDB_stubs" provides support when GDB stubs are included in
# the ROM monitor or boot ROM.
#
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
    # Flavor: booldata
    # No user value, uncomment the following line to provide one.
    # user_value 0 0
    # The inferred value should not be edited directly.
    inferred_value 0 0
    # value_source inferred
    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
    #     CYG_HAL_STARTUP == ROM
    #   --> 0 0
    # Legal values:  "Generic" "GDB_stubs" 
    # Requires:  CYG_HAL_STARTUP == "RAM" 
    #     CYG_HAL_STARTUP == ROM
    #   --> 0

    # The following properties are affected by this value
    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR ||
CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" ||
!CYGSEM_HAL_USE_ROM_MONITOR ||
CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED 
};

# Behave as a ROM monitor
# Enable this option if this program is to be used as a ROM monitor,
# i.e. applications will be loaded into RAM on the board, and this
# ROM monitor may process exceptions or interrupts generated from the
# application. This enables features such as utilizing a separate
# interrupt stack when exceptions are generated.
#
cdl_option CYGSEM_HAL_ROM_MONITOR {
    # Flavor: bool
    user_value 1
    # value_source user
    # Default value: 0
    # Requires:  CYG_HAL_STARTUP == "ROM" 
    #     CYG_HAL_STARTUP == ROM
    #   --> 1

    # The following properties are affected by this value
    # option CYGBLD_BUILD_GDB_STUBS
    #     Requires: CYGSEM_HAL_ROM_MONITOR
    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR ||
CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
    # option CYGPRI_REDBOOT_ROM_MONITOR
    #     Requires: CYGSEM_HAL_ROM_MONITOR
};

# <
# Platform defined I/O channels.
# Platforms which provide additional I/O channels can implement
# this interface, indicating that the function plf_if_init()
# needs to be called.
#
cdl_interface CYGINT_HAL_PLF_IF_INIT {
    # No options implement this inferface
    # This value cannot be modified here.
    # Flavor: data
    # Current_value: 0
};

# Platform IDE I/O support.
# Platforms which provide IDE controllers can implement
# this interface, indicating that IDE I/O macros are
# available.
#
cdl_interface CYGINT_HAL_PLF_IF_IDE {
    # No options implement this inferface
    # This value cannot be modified here.
    # Flavor: data
    # Current_value: 0

    # The following properties are affected by this value
    # component CYGPKG_REDBOOT_DISK
    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
};


# Diagnostic serial port baud rate
# This option selects the baud rate used for the diagnostic port.
# Note: this should match the value chosen for the GDB port if the
# diagnostic and GDB port are the same.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 115200
    # value_source default
    # Default value: 115200
    # Legal values: 9600 19200 38400 115200
};

# GDB serial port baud rate
# This option selects the baud rate used for the diagnostic port.
# Note: this should match the value chosen for the GDB port if the
# diagnostic and GDB port are the same.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 115200
    # value_source default
    # Default value: 115200
    # Legal values: 9600 19200 38400 115200
};

# Number of communication channels on the board
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
    # Calculated value: 2
    # Flavor: data
    # Current_value: 2

    # The following properties are affected by this value
    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
};

# Debug serial port
# The BOPS board has two serial ports. This option
# chooses which port will be used to connect to a host
# running GDB.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
    # ActiveIf constraint:
CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
    #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
    #   --> 1

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2
};

# Diagnostic serial port
# The BOPS board has two serial ports.  This option
# chooses which port will be used for diagnostic output.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
    # This option is not active
    # ActiveIf constraint:
CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
    #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 0
    #   --> 0

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2
};

# BOPS Travis board with SA1110 processor build options
# Package specific build options including control over
# compiler flags used only in building this package,
# and details of which tests are built.
#
cdl_component CYGPKG_HAL_ARM_SA11X0_TRAVIS_OPTIONS {
    # There is no associated value.
};

# Asserts & Tracing
# The eCos source code contains a significant amount of
# internal debugging support, in the form of assertions and
# tracing.
# Assertions check at runtime that various conditions are as
# expected; if not, execution is halted.
# Tracing takes the form of text messages that are output
# whenever certain events occur, or whenever functions are
# called or return.
# The most important property of these checks and messages is
# that they are not required for the program to run.
# It is prudent to develop software with assertions enabled,
# but disable them when making a product release, thus
# removing the overhead of that checking.
# It is possible to enable assertions and tracing
# independently.
# There are also options controlling the exact behaviour of
# the assertion and tracing facilities, thus giving users
# finer control over the code and data size requirements.
#
cdl_component CYGPKG_INFRA_DEBUG {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
};

# >
# Use asserts
# If this option is defined, asserts in the code are tested.
# Assert functions (CYG_ASSERT()) are defined in
# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
# If it is not defined, these result in no additional
# object code and no checking of the asserted conditions.
#
cdl_component CYGDBG_USE_ASSERTS {
    # This option is not active
    # The parent CYGPKG_INFRA_DEBUG is disabled

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
    #   --> 0
};

# >
# Preconditions
# This option allows individual control of preconditions.
# A precondition is one type of assert, which it is
# useful to control separately from more general asserts.
# The function is CYG_PRECONDITION(condition,msg).
#
cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
    # This option is not active
    # The parent CYGDBG_USE_ASSERTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Postconditions
# This option allows individual control of postconditions.
# A postcondition is one type of assert, which it is
# useful to control separately from more general asserts.
# The function is CYG_POSTCONDITION(condition,msg).
#
cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
    # This option is not active
    # The parent CYGDBG_USE_ASSERTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Loop invariants
# This option allows individual control of loop invariants.
# A loop invariant is one type of assert, which it is
# useful to control separately from more general asserts,
# particularly since a loop invariant is typically evaluated
# a great many times when used correctly.
# The function is CYG_LOOP_INVARIANT(condition,msg).
#
cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
    # This option is not active
    # The parent CYGDBG_USE_ASSERTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Use assert text
# All assertions within eCos contain a text message
# which should give some information about the condition
# being tested.
# These text messages will end up being embedded in the
# application image and hence there is a significant penalty
# in terms of image size.
# It is possible to suppress the use of these messages by
# disabling this option.
# This results in smaller code size, but there is less
# human-readable information if an assertion actually gets
# triggered.
#
cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
    # This option is not active
    # The parent CYGDBG_USE_ASSERTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Use tracing


# Simple output
# An output module which produces simple output
# from tracing and assertion events.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
    # This option is not active
    # The parent CYGPKG_INFRA_DEBUG is disabled

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
};

# Fancy output
# An output module which produces fancy output
# from tracing and assertion events.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
    # This option is not active
    # The parent CYGPKG_INFRA_DEBUG is disabled

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
};

# Buffered tracing
# An output module which buffers output
# from tracing and assertion events. The stored
# messages are output when an assert fires, or
# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
# is called.
# Of course, there will only be stored messages
# if tracing per se (CYGDBG_USE_TRACING)
# is enabled above.
#
cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
    # This option is not active
    # The parent CYGPKG_INFRA_DEBUG is disabled

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# >
# Trace buffer size
# The size of the trace buffer. This counts the number
# of trace records stored. When the buffer fills it
# either wraps, stops recording, or generates output.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
    # This option is not active
    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
    # ActiveIf constraint: CYGDBG_USE_TRACING
    #     CYGDBG_USE_TRACING == 0
    #   --> 0

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 32
    # value_source default
    # Default value: 32
    # Legal values: 5 to 65535
};

# Wrap trace buffer when full
# When the trace buffer has filled with records it
# starts again at the beginning. Hence only the last
# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
# be recorded.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
    # This option is not active
    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
    # ActiveIf constraint: CYGDBG_USE_TRACING
    #     CYGDBG_USE_TRACING == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Halt trace buffer when full
# When the trace buffer has filled with records it
# stops recording. Hence only the first
# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
# be recorded.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
    # This option is not active
    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
    # ActiveIf constraint: CYGDBG_USE_TRACING
    #     CYGDBG_USE_TRACING == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
};

# Print trace buffer when full
# When the trace buffer has filled with records it
# prints the contents of the buffer. The buffer is then
# emptied and the system continues.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
    # This option is not active
    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
    # ActiveIf constraint: CYGDBG_USE_TRACING
    #     CYGDBG_USE_TRACING == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
};

# Print trace buffer on assert fail
# When an assertion fails the trace buffer will be 
# printed to the default diagnostic device.
#
cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
    # This option is not active
    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
    # ActiveIf constraint: CYGDBG_USE_TRACING
    #     CYGDBG_USE_TRACING == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Use function names
# All trace and assert calls within eCos contain a
# reference to the builtin macro '__PRETTY_FUNCTION__',
# which evaluates to a string containing
# the name of the current function.
# This is useful when reading a trace log.
# It is possible to suppress the use of the function name
# by disabling this option.
# This results in smaller code size, but there is less
# human-readable information available in the trace output,
# possibly only filenames and line numbers.
#
cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
    # This option is not active
    # The parent CYGPKG_INFRA_DEBUG is disabled

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Startup options
# Some packages require a startup routine to be called.
# This can be carried out by application code, by supplying
# a routine called cyg_package_start() which calls the
# appropriate package startup routine(s).
# Alternatively, this routine can be constructed automatically
# and configured to call the startup routines of your choice.
#
cdl_component CYGPKG_INFRA_STARTUP {
    # There is no associated value.
};

# >
# Build Redboot ROM ELF image
# 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.
#
cdl_component CYGBLD_BUILD_REDBOOT {
    # Flavor: bool
    user_value 1
    # value_source user
    # Default value: 0
    # Requires: CYGPKG_INFRA
    #     CYGPKG_INFRA == current
    #   --> 1
    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS ||
CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
    #   --> 1
    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS ||
CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
    #   --> 1
    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
    #   --> 1
    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
    #   --> 1
    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
    #   --> 1
    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
    #   --> 1

    # The following properties are affected by this value
    # option CYGBLD_BUILD_REDBOOT_BIN
    #     ActiveIf: CYGBLD_BUILD_REDBOOT
};

# >
# Threads debugging support
# 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.
#
cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
    #     CYG_HAL_STARTUP == ROM
    #   --> 1

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0
    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
    #   --> 1
};

# Customized version string
# 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.
#
cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
    # Flavor: booldata
    # No user value, uncomment the following line to provide one.
    # user_value 0 0
    # value_source default
    # Default value: 0 0
};

# <
# Redboot Networking
# This option includes networking support in RedBoot.
#
cdl_component CYGPKG_REDBOOT_NETWORKING {
    # This option is not active
    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
    #     CYGPKG_IO_ETH_DRIVERS (unknown) == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# >
# Default IP address
# 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 CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
    # This option is not active
    # The parent CYGPKG_REDBOOT_NETWORKING is not active

    # Flavor: booldata
    # No user value, uncomment the following line to provide one.
    # user_value 1 "0, 0, 0, 0"
    # value_source default
    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
    #     CYGSEM_REDBOOT_FLASH_CONFIG == 0
    #   --> 1 "0, 0, 0, 0"
};

# TCP port to listen for incoming connections
# 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_TCP_PORT {
    # This option is not active
    # The parent CYGPKG_REDBOOT_NETWORKING is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 9000
    # value_source default
    # Default value: 9000
};

# Number of [network] packet buffers
# 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 CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
    # This option is not active
    # The parent CYGPKG_REDBOOT_NETWORKING is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 4
    # value_source default
    # Default value: 4
    # Legal values: 3 to 8
};

# <
# Allow RedBoot to use any I/O channel for it's console.
# 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 CYGPKG_REDBOOT_ANY_CONSOLE {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Allow RedBoot to adjust the baud rate on the serial console.
# If this option is enabled then RedBoot will support commands to set
# and query the baud rate on the selected console.
#
cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
    # This option is not active
    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 0
    #   --> 0

    # Flavor: bool
    user_value 0
    # value_source user
    # Default value: 1
};

# Maximum command line length
# 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 CYGPKG_REDBOOT_MAX_CMD_LINE {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 256
    # value_source default
    # Default value: 256
};

# Command processing idle timeout (ms)
# 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_CLI_IDLE_TIMEOUT {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 10
    # value_source default
    # Default value: 10
};

# Size of zlib decompression buffer
# 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 CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
    # This option is not active
    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
    #   --> 0

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 64
    # value_source default
    # Default value: 64
    # Legal values: 5 to 256
};

# Validate RAM addresses during load
# 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_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Allow RedBoot to support FLASH programming
# 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.
#
cdl_component CYGPKG_REDBOOT_FLASH {
    # This option is not active
    # ActiveIf constraint: CYGPKG_IO_FLASH
    #     CYGPKG_IO_FLASH (unknown) == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# >
# Minimum image size
# 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_MIN_IMAGE_SIZE {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 0x00020000
    # value_source default
    # Default value: 0x00020000
};

# Offset from start of FLASH to RedBoot boot image
# This option controls where the RedBoot boot image is located
# relative to the start of FLASH.
#
cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
    #   --> 0
    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
};

# Size of reserved area at start of FLASH
# This option reserves an area at the start of FLASH where RedBoot
# will never interfere; it is expected that this area contains
# (non-RedBoot-based) POST code or some other boot monitor that
# executes before RedBoot.
#
cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # value_source default
    # Default value: 0

    # The following properties are affected by this value
    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
};

# RedBoot Flash Image System support
# This option enables the Flash Image System commands
# and support within RedBoot.  If disabled, simple Flash
# access commands such as "fis write" will still exist.
# This option would be disabled for targets that need simple
# FLASH manipulation, but do not have the need or space for
# complete image management.
#
cdl_option CYGOPT_REDBOOT_FIS {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1

    # The following properties are affected by this value
    # component CYGPKG_REDBOOT_FIS_CONTENTS
    #     ActiveIf: CYGOPT_REDBOOT_FIS
};

# Flash Image System default directory contents
#
cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active
    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
    #     CYGOPT_REDBOOT_FIS == 0
    #   --> 0

    # Calculated value: 1
    # Flavor: bool
    # Current value: 1
};

# >
# Pseudo-file to describe reserved area
# If an area of FLASH is reserved, it is informative to
# have a fis entry describing it.  This option controls
# creation of such an entry by default in the fis init
# command.
#
cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FIS_CONTENTS is not active
    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# File to describe RedBoot boot image
# Normally a ROM-startup RedBoot image is first in the
# FLASH, and the system boots using that image.  This
# option controls creation of an entry describing it in
# the fis init command.  It might be disabled if a
# platform has an immutable boot image of its own, where
# we use a POST-startup RedBoot instead, which performs
# less board initialization.
#
cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FIS_CONTENTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1

    # The following properties are affected by this value
    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
};

# File to describe RedBoot POST-compatible image
# This option controls creation of an entry describing a
# POST-startup RedBoot image in the fis init command.
# Not all platforms support POST-startup.  A platform
# might have both for testing purposes, where the
# eventual user would substitute their own POST code for
# the initial ROM-startup RedBoot, and then jump to the
# POST-compatible RedBoot immediately following.
#
cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FIS_CONTENTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
    #     CYGOPT_REDBOOT_FIS_REDBOOT == 0
    #   --> 1
};

# >
# Offset of POST image from FLASH start
# This option specifies the offset for a POST image from
# the start of FLASH.  If unset, then the fis entry
# describing the POST image will be placed where
# convenient.
#
cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
    # This option is not active
    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is not active

    # Flavor: booldata
    # No user value, uncomment the following line to provide one.
    # user_value 0 0
    # value_source default
    # Default value: 0 0
    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
    #   --> 1

    # The following properties are affected by this value
    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=
CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
};

# <
# File to describe RedBoot backup image
# This option controls creation of an entry describing a
# backup RedBoot image in the fis init command.
# Conventionally a RAM-startup RedBoot image is kept
# under this name for use in updating the ROM-based
# RedBoot that boots the board.
#
cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FIS_CONTENTS is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Keep RedBoot configuration data in FLASH
# When this option is enabled, RedBoot will keep configuration
# data in a separate block of FLASH memory.  This data will
# include such items as the node IP address or startup scripts.
#
cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1

    # The following properties are affected by this value
    # option CYGDAT_REDBOOT_DEFAULT_IP_ADDR
    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
    # option CYGFUN_REDBOOT_BOOT_SCRIPT
    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||
CYGSEM_REDBOOT_FLASH_CONFIG 
};

# >
# Length of configuration data in FLASH
# This option is used to control the amount of memory and FLASH
# to be used for configuration options (persistent storage).
#
cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
    # This option is not active
    # The parent CYGSEM_REDBOOT_FLASH_CONFIG is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 4096
    # value_source default
    # Default value: 4096
};

# Support simple macros/aliases in FLASH
# This option is used to allow support for simple text-based
# macros (aliases).  These aliases are kept in the FLASH
# configuration data (persistent storage).
#
cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
    # This option is not active
    # The parent CYGSEM_REDBOOT_FLASH_CONFIG is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Length of strings in FLASH configuration data
# This option is used to control the amount of memory and FLASH
# to be used for string configuration options (persistent storage).
#
cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
    # This option is not active
    # The parent CYGSEM_REDBOOT_FLASH_CONFIG is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 128
    # value_source default
    # Default value: 128
};

# Length of configuration script(s) in FLASH
# This option is used to control the amount of memory and FLASH
# to be used for configuration options (persistent storage).
#
cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
    # This option is not active
    # The parent CYGSEM_REDBOOT_FLASH_CONFIG is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 512
    # value_source default
    # Default value: 512
};

# <
# Keep all RedBoot FLASH data blocks locked.
# When this option is enabled, RedBoot will keep configuration
# data and the FIS directory blocks implicitly locked.  While
# this is somewhat safer, it does add overhead during updates.
#
cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active
    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
    #     CYGHWR_IO_FLASH_BLOCK_LOCKING (unknown) == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Use CRC checksums on FIS images.
# When this option is enabled, RedBoot will use CRC checksums
# when reading and writing flash images.
#
cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
    # This option is not active
    # The parent CYGPKG_REDBOOT_FLASH is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Allow RedBoot to support disks
# If this option is enabled then RedBoot will provide commands
# to load disk files.
#
cdl_component CYGPKG_REDBOOT_DISK {
    # This option is not active
    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
    #     CYGINT_HAL_PLF_IF_IDE == 0
    #   --> 0

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# >
# Maximum number of supported disks
# This option controls the number of disks supported by RedBoot.
#
cdl_option CYGNUM_REDBOOT_MAX_DISKS {
    # This option is not active
    # The parent CYGPKG_REDBOOT_DISK is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 4
    # value_source default
    # Default value: 4
};

# Maximum number of partitions per disk
# This option controls the maximum number of supported partitions per disk.
#
cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
    # This option is not active
    # The parent CYGPKG_REDBOOT_DISK is not active

    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 8
    # value_source default
    # Default value: 8
};

# Support IDE disks.
# When this option is enabled, RedBoot will support IDE disks.
#
cdl_component CYGSEM_REDBOOT_DISK_IDE {
    # This option is not active
    # The parent CYGPKG_REDBOOT_DISK is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Support Linux second extended filesystems.
# When this option is enabled, RedBoot will support IDE disks.
#
cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
    # This option is not active
    # The parent CYGPKG_REDBOOT_DISK is not active

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# Support ISO9660 filesystems.
# When this option is enabled, RedBoot will support ISO9660 filesystems.
#
cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
    # This option is not active
    # The parent CYGPKG_REDBOOT_DISK is not active

    # Calculated value: 0
    # Flavor: bool
    # Current value: 0
};

# <
# Boot scripting
# This contains options related to RedBoot's boot script
# functionality.
#
cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
    # There is no associated value.
};

# >
# Boot scripting enabled
# This option controls whether RedBoot boot script
# functionality is enabled.
#
cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
    # This option is not active
    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||
CYGSEM_REDBOOT_FLASH_CONFIG 
    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
    #     CYGSEM_REDBOOT_FLASH_CONFIG == 0
    #   --> 0

    # Calculated value: 1
    # Flavor: bool
    # Current value: 1
};

# Use default RedBoot boot script
# If enabled, this option will tell RedBoot to use the value of
# this option as a default boot script.
#
cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
    # Flavor: booldata
    # No user value, uncomment the following line to provide one.
    # user_value 0 0
    # value_source default
    # Default value: 0 0

    # The following properties are affected by this value
    # option CYGFUN_REDBOOT_BOOT_SCRIPT
    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||
CYGSEM_REDBOOT_FLASH_CONFIG 
};

# Resolution (in ms) for script timeout value.
# This option controls the resolution of the script timeout.
# The value is specified in milliseconds (ms), thus to have the
# script timeout be defined in terms of tenths of seconds, use 100.
#
cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 1000
    # value_source default
    # Default value: 1000
};

# Script default timeout value
# This option is used to set the default timeout for startup
# scripts, when they are enabled.
#
cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
    # Flavor: data
    # No user value, uncomment the following line to provide one.
    # user_value 10
    # value_source default
    # Default value: 10
};

# <
# Behave like a ROM monitor
# Enabling this option will allow RedBoot to provide ROM monitor-style
# services to programs which it executes.
#
cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP ==
"ROMRAM" 
    #     CYG_HAL_STARTUP == ROM
    #     CYG_HAL_STARTUP == ROM
    #   --> 1

    # Calculated value: 1
    # Flavor: bool
    # Current value: 1
    # Requires: CYGSEM_HAL_ROM_MONITOR
    #     CYGSEM_HAL_ROM_MONITOR == 1
    #   --> 1
};

# Allow RedBoot to handle GNUPro application 'syscalls'.
# If this option is enabled then RedBoot will install a syscall handler
# to support debugging of applications based on GNUPro newlib/bsp.
#
cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 0
    # The inferred value should not be edited directly.
    inferred_value 1
    # value_source inferred
    # Default value: 0
};

# Redboot for SA11x0 options
# This option lists the target's requirements for a valid Redboot
# configuration.
#
cdl_component CYGPKG_REDBOOT_SA11X0_OPTIONS {
    # ActiveIf constraint: CYGPKG_REDBOOT
    #     CYGPKG_REDBOOT == current
    #   --> 1

    # There is no associated value.
};

# >
# Support booting Linux via RedBoot
# This option enables RedBoot to support booting of a Linux kernel.
#
cdl_option CYGSEM_REDBOOT_SA11X0_LINUX_BOOT {
    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# Redboot HAL options
# This option lists the target's requirements for a valid Redboot
# configuration.
#
cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
    # ActiveIf constraint: CYGPKG_REDBOOT
    #     CYGPKG_REDBOOT == current
    #   --> 1

    # There is no associated value.
};

# >
# Build Redboot ROM binary image
# This option enables the conversion of the Redboot ELF
# image to a binary image suitable for ROM programming.
#
cdl_option CYGBLD_BUILD_REDBOOT_BIN {
    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
    #     CYGBLD_BUILD_REDBOOT == 1
    #   --> 1

    # Flavor: bool
    # No user value, uncomment the following line to provide one.
    # user_value 1
    # value_source default
    # Default value: 1
};

# <
# <
# <






-----Original Message-----
From: Gary Thomas [mailto:gthomas@redhat.com]
Sent: Sunday, September 09, 2001 6:30 PM
To: Nathan J Ickes
Cc: eCos Discussion
Subject: Re: [ECOS] build redboot from the source code


On Sat, 2001-09-08 at 01:18, Nathan J Ickes wrote:
> > I'm trying to get Redboot to run on a board running the Intel StrongARM
> > SA1110.
> 
> <snip>
> 
> > I get the message:
> > 
> > RedBoo
> > 
> > and nothing else.  Can someone shed some light on what I am doing wrong?
> 
> I had this problem too, on a custom SA1110 board (see msg00384 in the
> archives). In my case, the HAL was apparently hanging while trying to
> write to additional serial ports. After poking around the HAL serial
> driver for a while, I eventually just tried removing HAL support for
> ports that I didn't need, and this fixed the problem. Then I never
> bothered to go back and figure out what was really going wrong :)
> Eventually, the problem seemed to fix itself (I now have RedBoot
> working on two serial ports), possibly when I updated my source
> tree. I assume, since you're porting to a new board, you have recently
> checked out the source tree, though.
> 
> Hopefully, that helps direct your search. When you do figure this out,
> I'd be interested in hearing what the cause was.
> 
> -- Nathan Ickes

This explanation makes perfect sense, thanks.  RedBoot will try and 
print all messages on _all_ available ports by default.  You have a lot
of choice in the configuration on the SA11x0, but be sure that it 
matches your actual hardware.  Look at the differences between the iPAQ
and Brutus board ports - they support different sets of serial devices -
for guidance.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]