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.
Select the Project
Run rtb
and click the select working folder button.
In the file dialog select the HelloWorld
directory and click OK. The RTB window should now look like this:
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
Target
Open the build configuration dialog by doubleclicking the HelloWorld.build
file. Select the Target tab and click the target select button.
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.
Modules
Select the Modules tab and click the Add button. Select the following modules from the list:
MyHello
SERIAL_UART16550
ROME
ROME_IF
Clib
The dialog should now show the selected modules.
Options
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:
CLIB_DISABLE_SCANF
CLIB_DISABLE_CHAR_IO
CLIB_DISABLE_CTYPE
You can also have to select the SERIAL_UART16550_NO_IRQ
option, as we do not use the interrupt driver module in our system.
Processes
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.
Right-click all processes in the list to enable the checkboxes. The process list should now look like this:
Message Sets
Select the Message Set tab and click the Add button and select the Standard message set from the list.
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
.
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.