ROME Target Builder

Hello World!


   Graphics by TheGimp

   ROME Target Builder
   Made in GLADE

   SourceForge Logo

This page gives you step by step instructions how to configure and build a small demo application. The application prints out "hello world!" on your screen (or over the serial port for that matter) and exits. While it might be about the simplest ROME application possible it illustrates the basics of the build process.

Get and install the necessary ROME/RTB packages

Download the following packages in your preferred format:

  • ROME OS components
  • ROME Target Builder (RTB)
  • Toolchain for MIPS
  • Become superuser and install the packages on your system using RPM, or untar them in the root directory (/).

    Get and install the HelloWorld demo application package

    Click here to download the HelloWorld demo application. Untar the directory somewhere in your home directory. You will get a project directory named HelloWorld.

    Configure preferences

    Select File->Preferences and enter /usr/local/ROME/System in the ROME System Files Directory field.

    Set Preferences

    Select the Project

    Run rtb and click the select working folder button.

    Select Working Folder

    In the file dialog select the HelloWorld directory and click OK. The RTB window should now look like this:

    Project View

    As you can see, the demo comes with a build configuration file (HelloWorld.build). You could create your own configuration file by selecting Build->Create Build Configuration File. But for this example the HelloWorld.build will do just fine.

    Edit build configuration


    Open the build configuration dialog by doubleclicking the HelloWorld.build file. Select the Target tab and click the target select button.

    Select Target

    Select the target P4032 from the list. If it does not appear in the list, there might be a problem with the installation of the components package or with the System Path Configuration. In this case, check the settings and try again.
    There are two configuration files, one for 8MB and one for 16MB memory. Right-click on one of the configuration files to activate it. You might not have an Algorithmics P4032 board, so it does not really matter which one you pick. If you have one, select the appropriate configuration.


    Select the Modules tab and click the Add button. Select the following modules from the list:

  • MyHello
  • SERIAL_UART16550
  • ROME
  • Clib
  • The dialog should now show the selected modules.

    Select Modules


    Go to the Options tab. Options can be used to configure the target without changing the code. The C-library for example has a lot of options to disable certain parts in order to minimize code size. In our example you can select all C-lib exclusion options except:

  • You can also have to select the SERIAL_UART16550_NO_IRQ option, as we do not use the interrupt driver module in our system.

    Select Options


    Select the Processes tab. Doubleclick the hello process to change its run order in the process edit dialog. Change the run order of the process to 95.

    Change Process Runorder

    Right-click all processes in the list to enable the checkboxes. The process list should now look like this:

    Process List

    Message Sets

    Select the Message Set tab and click the Add button and select the Standard message set from the list.

    Select Message Set

    Create Build Tree

    Once you have edited the build configuration click OK to close the dialog. Click on the Generate Build Tree button and select HelloWorld.

    Create Build Tree

    Check the output of the build summary dialog for errors. If everything is OK, you can now change into the build directory and compile the application.

    $ cd HelloWorld/Builds/HelloWorld
    $ make
    After the compile there should be an executable file named target in the build directory. You can now transfer the target file to your Algorithmics board and run it!

    If you run into problems or have any comments please let me know. You can reach me at gnagflow@users.sourceforge.net.

    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.