RTEMS 4.5.1 Preview Release Announcement

October 17, 2001 - OAR Corporation is proud to announce that previews of the RTEMS 4.5.1 are now available for immediate download from http://www.oarcorp.com.

RTEMS is an open source real-time operating system with support for multiple open standards including POSIX 1003.1b and ITRON. In addition, it includes a Classic API based on the RTEID specification that provides a high degree of compatability with pSOS+. RTEMS supports priority-based, preemptive scheduling with optional support for rate monotonic scheduling, priority inheritance, and the priority ceiling protocol.

This is primarily a bug fix and tool refresh release with the main development tree proceeding on with numerous submissions and enhancement. See enhancements for a full list. The next major release will include support for new CPU families, new BSPs, and much more. The problems fixed in this release include:

last release and the list of improvements is too long to detail them all here. Major items to note include the availability of toolset executables for Linux, FreeBSD, Cygwin, and Solaris. This eliminates the need to build the GNU tools from source and significantly reduces the startup time for new users. The addition of significant features like RPC/XDR and filesystem support provide an even stronger foundation for existing users to build embedded real-time systems upon.

In addition to numerous GNU libraries such as ncurses, readline, libavl, and zlib, numerous third party packages have been ported to this release of RTEMS including:

  • MicroWindows/Nano-X,
  • OmniOrb2,
  • GoAhead WebServer
  • Tool Command Language (TCL),
  • and
  • Experimental Physics and Industrial Control System (EPICS).
  • OAR Corporation offers RTEMS-related services including support, training, and custom development.


    List of Enhancements in RTEMS 4.5.0

    The following (lengthy) list summarizes the enhancements over the previous releases RTEMS including the following:

  • Better support for linking C++ appplications (make-cxx-exe).
  • Semaphore/mutex operations once again safe from ISR. Impacts all APIs.
  • Message queue send once again safe from ISR. Impacts all APIs.
  • Classic API Events -- Small window closed on send.
  • POSIX clock_getres() now returns correct information.
  • RTEMS Classic API macro for "system task" is now correct.
  • Heap -- Now an error to attempt to allocate near 0xFFFFFFFF bytes.
  • Multiple system calls now return ENOTSUP if the underlying filesystem does not support this call.
  • Termios -- Multiple minor fixes including better link list management.
  • scandir() -- Fixed order of arguments to strncpy().
  • getcwd() -- Improve error cleanup.
  • imfs_getchild() -- Static string is now declared as long enough.
  • mount -- make sure enough space allocated for a device name in the mount table.
  • sockets -- better handling on attempt to handle closed sockets.
  • SPARC port now includes enough delays to account for pipeline on LEON.
  • M68K port -- Close a one instruction window on SOME CPU cores.
  • BSP Specific Problems
  • DMV177: Can now be built with networking disabled.
  • i386ex: Typos fixed in linkcmds from OAR server RAM failure.
  • Motorola_PowerPC: Multiple minor fixes to fix FPU initialization and provide the correct memory setup for the MVME2303.
  • PSIM: Increased the RAM to 8 Mbytes.
  • ERC32: runtest script handles build variants better.
  • New Tool Versions
  • binutils 2.10 (RPM revision 3)
  • gcc 2.95.3 and newlib 1.8.2 (RPM revision 450_1)
  • gdb 5.0 (RPM revision 4)
  • NOTE: binutils and gdb versions can be shared with development snapshots. But due to a reorganization in header files between RTEMS and newlib to decrease RTEMS specific header file versions, you must use the appropriate gcc/newlib tool versions for snapshots.