6 AVR2070 8240B-AVR-06/09
3 AVR RUM Quickstart
In order to operate the RUM demo application, make sure one of the platforms
described in this document has been selected, or that a custom platform has been
properly defined in the hal_avr.h file. Also the use of an Atmel JTAGICE mkII or
AVRISP programmer will be required to program the target microcontroller.
After the target platforms and the programming tools required have been gathered,
setup the software necessary for development. For Windows® users, AVR Studio®
along with the free WinAVR tool chain can be used and downloaded free from
www.atmel.com and www.sourceforge.net. For Linux® users, the tools have to be
installed and run individually.

3.1 Source Code

The RUM source code that accompanies this Application Note is spread out over
several directories. The core RUM files are located in the \rum_src directory, and all
of the other directories support the uTasker operating system, which is only used with
the SAM7X version of RUM.
For AVR nodes, only the \rum_src directory is needed.

3.2 Compiling RUM

RUM has been written to work with the AVR version of the GCC compiler. AVR
Studio will compile and debug the RUM software. Alternatively for Linux, a RUM
application can be compiled and debugged using avr-gcc and other free tools.
Within the \rum_src directory, there are three AVR Studio project files that will compile
for the appropriate device of choice. There is also a Makefile that can be used with
command line tools as well. These projects have all been pre-configured with default
compile flags described in the table 3-1 below.
3.2.1 Compile-time Options
Rum is a very configurable protocol stack. Using a few compile-time flags, RUM can
be configured to run in a minimal amount of flash (less than 6K), or it can be
configured to that handle 6LoWPAN packets, serve data on a periodic basis, and
sleeps between readings. In AVR Studio, the compile-time flags described in table 3-
1 are entered into the Project Options dialog box. This process is shown in figures 3-1
and 3-2.
Note:
In order to compile a small flash image size for an End Node device,
the linker needs to be configured to remove any standard libraries like
printf and floating point libraries. AVR Studio linker options can be
found in the Custom Options tab of the Project options as shown in
figure 3-2. The [Linker Options] selection is located in the file list of the
left window pane. Linux users can adjust the Makefile to remove these
libraries from the command line.