From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: ecos-announce@sources.redhat.com Cc: eCos discussion Subject: Significant updates to Red Hat eCos Date: Fri, 25 Aug 2000 10:37:00 -0000 Message-id: <39A6ADF9.AEE158BD@redhat.co.uk> X-SW-Source: 2000/msg00001.html Red Hat is pleased to announce a series of significant additions and updates to eCos, the Embedded Configurable Operating System. As an Open Source company, Red Hat has made these improvements available from the development repository available via anonymous CVS ( see http://sources.redhat.com/ecos/anoncvs.html ). Key additions to generic eCos functionality include: * EL/IX compatibility layer - POSIX 1003.1 threads and synchronization primitives * Plug-in filesystem and network stack support (including a sample RAM-based filesystem) * RedBoot ROM monitor permitting ethernet debugging, flash management, etc. * SNMP support * PCMCIA and Flash support Also of particular note are the inclusion of ports to the Intel StrongARM Assabet and Brutus evaluation boards, and support for the NEC v850 architecture and NEC CEB-v850/SA1 evalation board. More details of these and other improvements are listed below. eCos 1.3.1 users should ensure they are using the latest host tools available for download from http://sources.redhat.com/ecos/anoncvs.html instead of the standard eCos 1.3.1 tools before using the anonymous CVS repository. As usual, the sources in the anonymous CVS repository are under continual development, and as such there can be no guarantees to reliability or stability. Developer support contracts are available for users in need of a reliable, stable and tested eCos release. A full standard public release will be made available in due course in collaboration with the Open Source community. No firm date is set for the next public release at this time. EL/IX related functionality =========================== EL/IX is an API that allows applications to be ported transparently between Linux, Embedded Linux and small embedded OS's like eCos. Visit http://sources.redhat.com/elix for details. - Support has been added for POSIX 1003.1 threads, mutexes, semaphores, message queues, condition variables, clocks, timers and real-time signals in the new POSIX compatibility package (part of the EL/IX initiative) found at compat/posix in the source repository. - Plug-in filesystem support added, with a POSIX 1003.1 compatible API, found in the io/fileio package, and integrated with the C library. - An initial example filesystem implementation is provided in fs/ram. This is a RAM-based filesystem that attempts to both be a useful tool in its own right and an example of how to write a filesystem that plugs into the eCos filesystem infrastructure. The source of the filesystem is in fs/ram/VERSION/src/ramfs.c and is intended to be largely self documenting. The General Description at the beginning of the file gives an overview of the structure of the system, and comments within the code explain specific points. This code should be read in conjunction with the description of the fileio infrastructure. - POSIX termios support has been added as specified by EL/IX level 1 Note that the above features should be considered to be at an early beta stage of development. Networking functionality ======================== - The most up-to-date TCP/IP stack sources are now available from anonymous CVS. - A port of the University of California at Davis (UCD) SNMP stack has been added - DHCP support has been added - TFTP server and client support is now included Target/platform and device driver support ========================================= - Intel StrongARM SA1110 Assabet evaluation board port added - Intel StrongARM SA1100 Brutus evaluation board port added. This should be considered a beta release at this time. - An architecture port to the NEC V850 has been added, with an initial platform of the NEC CEB-v850/SA1. A serial driver is also included. - CqREEK SH7708 (SH3) board port added - contributed by Haruki Kashiwaya. (Note: support for an SH4 based CqREEK system will be added shortly). - Hitachi SH7709A variant support added - Hitachi SH7707A variant support added - Added PCMCIA and Compact Flash support, including drivers for the ARM-Assabet board. This should be considered of beta quality at this time. - Added Flash memory support for Intel StrongARM EBSA285 and Cirrus Logic ARM EDB7xxx boards - Added an ethernet driver for the Socket Communications Low Power Compact Flash Ethernet (LP-CF+) PC Card - see http://www.socketcom.com/ (NB only tested on the Assabet board at this time). RedBoot ======= RedBoot - the Red Hat Embedded Debug and Boot ROM monitor has been added. RedBoot provides: - serial and ethernet GDB debugging support - Flash image management - Flash booting - Download via TFTP - SREC or "raw" download formats - IP address setting by BOOTP/DHCP - A CLI interface. Zmodem download support is to be added shortly. RedBoot will become the standard firmware supplied and supported by Red Hat, replacing CygMon and GDB stubs based boot loaders. Initial support is for the ARM-EDB7xxx, ARM-EBSA285, and StrongARM-Assabet boards. This is the initial release of RedBoot and should be considered an alpha - it is still under major development. In particular little documentation is yet available, although what is available can be obtained from http://sources.redhat.com/ecos/docs-latest/ Other functionality =================== - Improved dynamic memory management support in the memory allocator package. Existing dynamic memory support in the kernel (fixed and variable block allocators) and in libc (malloc, etc.) has been moved to this package, located at services/memalloc/common. It is now possible to support memory pools occupying all of remaining memory (as determined by the MLT). New memory allocators can be "plugged in", and an example of Doug Lea's malloc (dlmalloc) has been included. - Most targets now implement a standard form of "virtual vectors" - a mechanism to allow enhanced co-operation between ROM monitors and running applications. This allows the application to leave to the ROM things that the ROM supports rather than duplicating, including debug channels that may be via serial or ethernet. To take advantage of this, new GDB stub images/CygMon images should be programmed onto boards, although old images will continue to work - they will just not be able to use the new facilities. GDB itself does not need rebuilding either. - Support added for both software and hardware serial I/O flow control with an initial version of the latter available only for the ARM PID board at present. - Kernel enhanced with Asynchronous Service Routines (ASRs) which are routines called back at the point a thread is scheduled. - Added configurable priority ceilings for kernel mutexes - Support sorted thread queues in kernel, rather than LIFO, controlled by the CYGIMP_KERNEL_SCHED_SORTED_QUEUES option. Other new items =============== - Updated eCos on-line documentation with many corrections and clarifications, including documentation on the CEB-v850 port, using RedBoot on the EBSA285 and on using the plug-in filesystem, socket, and memory allocator interfaces. The updated documentation is at http://sources.redhat.com/ecos/docs-latest/ - The FAQ has been updated to cover common problems encountered with building development tools and eCos, particularly for Windows users Existing users of the anonymous CVS repository should note that the above changes may be quite destabilising to any existing build trees and saved configurations. To avoid updating to the most recent changes, you may update to the snapshot immediately preceding them by checking out with the CVS tag "ecos-sw-2000-07-21". Existing users should also pay particular notice to the sections above on new GDB stub/CygMon images, and the new host tools. Any discussions on these improvements are welcomed on the ecos-discuss mailing list - visit http://sources.redhat.com/ecos/intouch.html to subscribe. Jonathan Larmour eCos Engineering -- Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762