On 03/24/2011 08:49 PM, Gian Maria wrote:
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 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.

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

Attachment: 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
};

Attachment: 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

Reply via email to