eCosCentric Limited - eCosPro - release 3.0.9.1 - README
========================================================

December 2009


Welcome to the eCosPro 3.0.9.1 release for the Atmel AT91SAM7X-EK board with
AT91SAM7X256 and AT91SAM7X512 processor as well as the Atmel AT91SAM7S-EK
board with AT91SAM7S256 and AT91SAM7S512

This README contains a list of known problems with the eCosPro 3.0.9.1
release - see Errata section below. Please check for further issues by
searching eCosCentric's Bugzilla-based Issue Management System for
product "eCosPro" version "3.0.9":

  https://bugzilla.ecoscentric.com/query.cgi?format=advanced&product=eCosPro

If you discover new issues with this release, please report them using
Bugzilla:

  https://bugzilla.ecoscentric.com/enter_bug.cgi?product=eCosPro&version=3.0.9

Please refer to the documentation for eCos distributed with this release, under
the 'doc' directory. The eCos User Guide provides an introduction to working
with eCos, including configuring and building the eCos library using the eCos
Configuration Tool and building the example applications.


------------------------------------------------------------------------------
eCos and GDB stubs for the Atmel AT91SAM7X-EK and AT91SAM7S-EK
--------------------------------------------------------------

The default platform for the eCos Configuration Tool is the AT91SAM7XEK_256 board.
If building eCos for the platform platforms, you must select the appropriate
hardware template from the options:
  "Build" -> "Templates"

When you change platforms within the eCos Configuration Tool, you may get
one or two CDL conflicts arising due to changes in the default configuration.
This is normal and you should simply select "Continue" from the "Resolve conflicts"
dialogue box to automatically resolve them.


Please refer to the documentation for eCos distributed with this release,
under the 'doc' directory.

A GDB stub binary is provided under the 'loaders' directory in the release.
They may be rebuilt in the documented manner. For example, for the
at91sam7xek_256:

$ ecosconfig new at91sam7xek_256 stubs
$ ecosconfig check
$ ecosconfig tree
$ make


------------------------------------------------------------------------------
eCosPro 3.0.9.1 Errata
--------------------

* Various parts of the documentation still refer to the older arm-elf toolchain
  and its tools (e.g. arm-elf-gcc, arm-elf-gdb).  Where these tools are referenced,
  please read them as arm-eabi toolchain with tools arm-eabi-gcc, arm-eabi-gdb, etc.

* The arm-eabi 4.3.2 toolchain does not support ARM7DI and StrongARM
  processors.

* While building eCos, GCC 4.3.2 will emit a number of warnings of the form:

     cc1: warning: command line option "<switch>" is valid for C++/ObjC++ but not for C

  These warnings are benign and will be silenced in the next overhaul of the
  eCos build system.

* When running tests within the eCos Configuration Tool messages of the
  following form may be observed from the GDB backtrace:

     #2  0x00040184 in start ()
     #3  0x00040184 in start ()
     Previous frame identical to this frame (corrupt stack?)

  Such messages arise in circumstances where GCC has optimised code to a
  level which exceeds the capabilities of GDB to perform an accurate
  backtrace. The messages are benign.

* When changing CYG_HAL_STARTUP or removing certain eCos packages from an
  existing eCos configuration, the eCos build system may not re-generate the
  eCos install tree correctly. It is therefore recommended that a new eCos
  build tree and install tree is used. This may be achieved by saving the
  revised eCos configuration under a different name within the eCos
  Configuration Tool.

* When running on recent versions of Linux, for example Fedora Core 11 (FC11)
  and Suse 11.2, the eCos host tools (ecosconfig, configtool, serfilter) all 
  require the compat-libstdc++-33 libraries to be installed.  For example,
  to install this library on FC11, run "yum install compat-libstdc++-33".
  To install on openSUSE-11.2, run "zypper in libstdc++33".

* There are a three minor issues with the eCos Configuration Tool:
      84946  Configtool build progress bar inoperative
      89778  Configtool platforms list is not sorted
    1000619  Configuration tree does not respond to scroll wheel

* There is a minor issue with gdb:
    1000881  rbreak does not find functions implemented in C++ with extern "C"
             linkage
  The work-around is to use the "break" function instead

* Due to limited RAM capacity on AT91SAM7X-EK hardware with AT91SAM7X256 and
  AT91SAM7S-EK hardware with AT91SAM7S256, many eCos tests will fail to link
  and the linker will emit a message of the form:

      section <name> is not within region ram

  The eCos Configuration Tool has been modified to ignore errors when building
  the tests. Building the library using the Build->Library menu option is
  therefore recommended before building tests for this hardware platform.

* When using the lwIP TCP/IP stack on AT91SAM7X-EK hardware, selection of the 
  lwIP direct ethernet driver (CYGOPT_IO_ETH_DRIVERS_LWIP_DRIVER_DIRECT) is
  recommended.

* When modifying the size of the lwIP TCP receive window (CYGNUM_LWIP_TCP_WND),
  care must be taken to ensure that sufficient space exists in the packet
  buffer pool.

* The AT91SAM7X-EK on-board dataflash device is accessible at virtual address
  0x10000000 and a dataflash card connected at J30 is accessible at virtual
  address 0x20000000.

* The following eCos packages are not supported in this release:

  Package CYGPKG_LOADER (Dynamic loader)
  Package CYGPKG_NET_IPSEC_LIBIPSEC (libipsec support)
  Package CYGPKG_IO_USB_SLAVE_ETH (USB slave-side ethernet class drivers)
  Package CYGPKG_OBJLOADER (Object file loader)
  Package CYGPKG_NET_OPENBSD_STACK (OpenBSD Stack)
  Package CYGPKG_POWER (Power Management support)
  Package CYGPKG_VNC_SERVER (VNC server)
