ROME Target Builder

Hello World!


   Graphics by TheGimp

   ROME Target Builder
   Made in GLADE

   SourceForge Logo

Latest News
03/07/02: RTB/ROME release 2.0.1 is now available. XPM and JPEG libraries have been added.
12/20/01: ROME build and configuration environment document released.
12/11/01: Bug in HelloWorld! demo fixed. If your demo crashed, download the new version.
12/07/01: New simplified version of ROME Target Builder (RTB) released.
12/04/01: First ROME components for the new configuration mechanism released.
11/03/01: ROME target configuration mechanism redesigned.

What is ROME?

ROME is a lightweight, modular, multitasking, embedded operating system which has been developed and used for multiple research projects within the Computer & Communications Research Laboratory (CCRL) of NEC USA, Inc. in Princeton, NJ.

Why is ROME useful?

ROME was designed to manage high speed data streams within a multimedia environment. The system is highly modular, with functionality split between multiple processes. To ensure a high throughput with minimal overhead ROME provides a zero copy architecture where pointer references to data are passed around instead of data being copied. The goal of this approach is to maximize the utilization of a given hardware configuration.

Also, the memory footprint of a ROME system can be extremely small. For example, the image file of a MIPS based minimal demo system with 3 running processes was smaller than 16KB. This makes ROME suitable for really deeply embedded applications.

Where does ROME run?

ROME is as platform independent as possible - only a few lines of ROME code are written in assembler, for example parts of the CPU dependent plug-ins. Currently the following processor types are supported:

  • Intel x86 series
  • Intel i960 series
  • MIPS r4000 series
  • ROME is designed to be highly portable. Porting ROME to another processor type (such as Alpha, StrongARM) should be fairly easy. See the ROME Porting Guide for more information.

    Other chipset support has been put into separate modules. It is usually quite easy to create a new module for a certain chipset (e.g. a PCI controller) and integrate it into a ROME system.

    What can I expect?

    As mentioned before, ROME has been developed in a research environment. Most of the ROME components have been added to the system on a "need to have" basis, usually for a particular hardware configuration or system setup.

    Since it was designed for embedded systems, it is not a "general" all-purpose OS. ROME is not going to download, compile and run like a Linux kernel. However, the Programmer's Guide will help you build a ROME system for your application.

    ROME Target Builder Screenshot

    Also, the ROME distribution features the ROME Target Builder, a configuration GUI that make it very easy to create and configure ROME projects.

    By using the documentation, and with a little patience, you should be able to make ROME work for your project.

    Where can I get ROME? What does it cost?

    ROME OS has been released under the GNU General Public License (GPL). Therefore, ROME is FREE. You can download ROME from this web site. Make sure to get the documentation as well.

    Send mail to Wolfgang Reißnegger (don't forget to remove -REMOVE-THIS- from address) if you want to contribute or if you have questions or comments about ROME.