Atmel AVR2070 User Manual

Page of 93
 
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.