On 03/24/2011 08:49 PM, Gian Maria wrote:
If you use the GUI ecos config tool, you can search for 'CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL' and change the value to 1. Of course the generic serial driver must be enabled, and also the platform serial driver.I'm learning eCos and I want to run redboor on STM3210C for some tests, this demo board has only one serial port, so how can I configure CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL and CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL ?Best regards Gian.
If you use the command-line tool, you must specify the same things in scripts. In attachment you find my demo scripts, both for redboot and ecos builds, applied to platform "project". Remarks: I use AT91 chips; it are demo scripts, so clean-up versions, never tested.
To make/change/add scripts, I read the ecos.ecc file resulting from a compilation. And I add the options that I want to change to the scripts.
Success, Jürgen -- Jürgen Lambrecht R&D Associate Tel: +32 (0)51 303045 Fax: +32 (0)51 310670 http://www.televic-rail.com Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium Company number 0825.539.581 - RPR Kortrijk
build_ecos_project_ram.sh
Description: Bourne shell script
### Serial ###
# Since the differentation of the projects, all the serial ports are _disabled_
# by default!
# Termios compatible TTY drivers
# This option enables terminal drivers compatible with
# POSIX termios.
cdl_component CYGPKG_IO_SERIAL_TERMIOS {
user_value 0
# Default value: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 !=
CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO
# --> 1
};
# Hardware serial device drivers
# This option enables the hardware device drivers
# for the current platform.
cdl_component CYGPKG_IO_SERIAL_DEVICES {
user_value 1
# Default value: 0
};
# This option enables extra code in the generic serial driver
# which allows clients to switch read() and write() call
# semantics from blocking to non-blocking.
cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING {
user_value 1
# Default value: 0
};
# Atmel AT91 serial device drivers
# This option enables the serial device drivers for the
# Atmel AT91.
# cdl_package CYGPKG_IO_SERIAL_ARM_AT91 {
# The parent CYGPKG_IO_SERIAL_DEVICES
# ActiveIf constraint: CYGPKG_IO_SERIAL --> 1
# ActiveIf constraint: CYGPKG_HAL_ARM_AT91 --> 1
# };
# Atmel AT91 serial port 0 driver
# This option includes the serial device driver for the Atmel AT91
# port 0 (serial A).
#
cdl_component CYGPKG_IO_SERIAL_ARM_AT91_SERIAL0 {
user_value 1
# Default value: 0
};
# Device name for Atmel AT91 serial port 2 driver
# This option specifies the name of the serial device for the
# Atmel AT91 port 2.
# cdl_option CYGDAT_IO_SERIAL_ARM_AT91_SERIAL0_NAME {
# user_value "\"/dev/rs4852\""
# # Default value: "\"/dev/ser2\""
# };
# Baud rate for the Atmel AT91 serial port 2 driver
cdl_option CYGNUM_IO_SERIAL_ARM_AT91_SERIAL0_BAUD {
user_value 115200
# Default value: 115200
# Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
# 4800 7200 9600 14400 19200 38400 57600 115200
230400
};
# This option specifies the size of the internal buffers used
# for the Atmel AT91 port 2.
cdl_option CYGNUM_IO_SERIAL_ARM_AT91_SERIAL0_BUFSIZE {
user_value 512
# Default value: 128
# Legal values: 0 to 8192
};
# Receive data chunk size
# This parameter can be used to reduce the number of interrupts
# that must be processed by the driver. An interrupt will only
# be generated if either this many data bytes have been received
# or the receiver has been idle for some time. This reduces
# overall system load at the expense of making the driver less
# responsive and using slightly more memory for buffering data.
# Setting this parameter to 1 will give standard behavior.
#
# cdl_option CYGNUM_IO_SERIAL_ARM_AT91_SERIAL0_RCV_CHUNK_SIZE {
# # user_value 1
# # Default value: 1
# # Legal values: 1 to 65519
# };
# This option enables support for the select() API function on all
# serial devices.
cdl_option CYGPKG_IO_SERIAL_SELECT_SUPPORT {
user_value 0
# Default value: 1
};
cdl_configuration eCos {
package CYGPKG_FS_JFFS2 current ;
package CYGPKG_LINUX_COMPAT current ; #jffs
package CYGPKG_IO_FILEIO current ; #jffs2
package CYGPKG_IO_FLASH current ; #jffs2
package CYGPKG_IO_I2C current ;
package CYGPKG_CRC current ; #jffs2
package CYGPKG_BLOCK_LIB current ;
package CYGPKG_ERROR current ; #needed by all
package CYGPKG_IO_SERIAL current ;
package CYGPKG_IO_ETH_DRIVERS current ;
package CYGPKG_NET current ;
package CYGPKG_NET_FREEBSD_STACK current ;
}
cdl_component CYGOPT_FS_JFFS2_GCTHREAD {
user_value 0
};
cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
user_value 0
};
# Multiple TFTPD server threads on the same port.
cdl_component CYGSEM_NET_TFTPD_MULTITHREADED {
user_value 0
# Default value: 1
};
# This configures the flash device 1 block device
# from Redboot FIS
#needed for jffs2 FIS file mounting!!
cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
user_value 1
};
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 };
cdl_configuration eCos {
package CYGPKG_IO_FLASH current ;
package CYGPKG_DEVS_FLASH_STD_IMS current;
package CYGPKG_DEVS_FLASH_AMD_AM29XXXXX current;
package CYGPKG_IO_ETH_DRIVERS current ;
package CYGPKG_IO_FILEIO current ;
package CYGPKG_ERROR current ;
package CYGPKG_FS_JFFS2 current ; #needs packs ISOINFRA, CRC, IO_FLASH,
IO_FLASH_BLOCK_DEVICE, IO_FILEIO, IO_FILEIO_INODE, LINUX_COMPAT, ERROR; needs
ints ISO_ERRNO, ISO_ERRNO_CODES, ISO_MALLOC
package CYGPKG_LINUX_COMPAT current ;
package CYGPKG_IO current ; #needed by CYGPKG_IO_FLASH_BLOCK_DEVICE
package CYGPKG_MEMALLOC current ; #diff
package CYGPKG_COMPRESS_ZLIB current ; #needs packs
};
# cdl_configuration eCos {
# package CYGPKG_IO_ETH_DRIVERS current ;
# };
# package CYGPKG_FS_FAT current ; #needs packs FILEIO, ISOINFRA, MEMALLOC;
needs ints ISO_ERRNO, ISO_ERRNO_CODES
# package CYGPKG_DEVS_DISK_IDE current ; #needs packs IO_DISK
# package CYGPKG_IO_DISK current ; #needs packs IO, ERROR
# package CYGPKG_BLOCK_LIB current ; #needs packs ISOINFRA, MEMALLOC,
LINUX_COMPAT, ERROR
cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
user_value 4096
}; #sam7 value = 6144
cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
user_value 0
};
cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
inferred_value 0
};
cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
user_value 0
};
# Provide diagnostic dump for exceptions
# Print messages about hardware exceptions, including
# raw exception frame dump and register contents.
cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
user_value 1
# Default value: 0
# Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
};
cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
user_value 0
};
cdl_option CYGSEM_HAL_ROM_MONITOR {
user_value 1
};
cdl_component CYG_HAL_STARTUP {
user_value ROM
};
cdl_component CYGBLD_BUILD_REDBOOT {
user_value 1
};
#linux exec
cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
user_value 0
};
# Include I/O Memory commands 'iopeek' and 'iopoke'
cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
user_value 1
};
cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
user_value 0
};
cdl_option CYGHWR_DEVS_FLASH_AMD_S29GL128N {
user_value 1
}
# If this option is enabled then RedBoot will execute a platform
# specific startup function before entering into its command line
# processing. This allows the platform to perform any special
# setups before RedBoot actually starts running. Note: the entire
# RedBoot environment will already be initialized at this point.
#
# cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
# # user_value 0
# };
cdl_option CYGOPT_REDBOOT_FIS {
user_value 1
};
# When this option is enabled, RedBoot will use CRC checksums
# when reading and writing flash images.
# cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
# # Default value: 1
# };
# 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 {
user_value 1
};
# Length of configuration data in FLASH
# cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
# # user_value 4096
# # Default value: 4096
# };
# If this option is set, then the FIS directory and FLASH
# configuration database will be stored in the same physical
# FLASH block. NO: if one gets corrupt.., don't loose other
cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
user_value 0
# Default value: 1
};
# 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 {
user_value 3
# Default value: 10
};
# Which block of flash should hold the configuration
# information. Positive numbers are absolute block numbers.
# Negative block numbers count backwards from the last block.
# eg 2 means block 2, -2 means the last but one block.
# cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
# user_value -16
# };
# cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
# user_value -24
# };
# cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
# user_value 0
# # Default value: 0 if no flash, 1 if flash (CYGPKG_REDBOOT_FLASH, default
# 1 if CYGHWR_IO_FLASH_DEVICE)
# };
cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
user_value 0
};
cdl_option CYGOPT_REDBOOT_REDUNDANT_FIS {
user_value 1
};
build_redboot_project_rom_dbg.sh
Description: Bourne shell script
-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
