Required Tools

Build System and Code Generation
In order to keep track of the dependencies among the source files automatically, when compiling the project, the scons build system was choosen. This build system is written in Python, therefore the interpreter is installed here too.

  1. Python (mandatory)
    http://www.python.org
    Python is used as the central scripting language in this project, therefore it is mandatory to install. It is primarily used for the scons build system, utility scripts and PC applications. Python is used in version 2.x, starting with version 2.4 the build is tested. Version 3.x is not yet supported.
  2. Scons (mandatory)
    http://www.scons.org
    Scons is a Python based build sytem, similiar to make. Its main strengths are
    • the clean dependency managment, which is based on hash sums instead of timestamps,
    • the flexible extension with Python functions and
    • the easy to read and understand build scripts.
  3. libxml2 and libxslt (optional)
    http://www.xmlsoft.org/
    This libraries from the Gnome project are used for transforming and validating XML files, e.g. AvrStudio .aps-project files. The µracoli webpages are altough generated by XSL transformation from raw XML files. The packages should be installed, if the xmpl*.aps files have to be generated.

AVR Tools
For cross compiling the µracoli sources the avr-gcc compiler and the avr-binutils are needed. The avr-libc package provides a standard C library for AVR micro controllers.

  1. GNU AVR Binutils (mandatory)
    http://www.gnu.org/software/binutils
    This packages contain the assembler, linker and various utilities for generating and transforming executable programm code for AVR microcontrollers.
  2. GNU AVR GCC (mandatory)
    http://www.gnu.org/software/gcc
    The GNU compiler collection provides compilers for different programming languages. For this project the AVR GCC compiler is used.
  3. AVR Libc (mandatory)
    http://avr-libc.nongnu.org
    AVR Libc is collection of high quality C functions and macros to be used in conjunction with AVR microcontrollers.

Programming and Debugging of Radio Boards
For loading and debugging executables on radio boards, different tools for Linux and Windows are used.

  1. Programmer (mandatory)
    • Linux/Unix: avrdude
    • Windows: AvrStudio
  2. Debugger (optional but highly recommended)
    • Linux/Unix: avarice, avr-gdb, ddd
    • Windows: AvrStudio

Documentation
The project documentation is generated as set of HTML files with doxygen. Additionally tool graphviz (dot) is needed to generate images of graphes.

  1. Doxygen (optional)
    http://www.doxygen.org
    Doxygen is a documentation system for various programming languages, including C and Python. The tool should be installed, if the documentation has to be generated.
  2. Graphviz (optional)
    http://www.graphviz.org
    Graphviz is a tool for visualization of dependency graphs and networks. It is mainly used inside the documentation for illustrating the relations of various programm components. The tool should be installed, if the documentation has to be generated.

PC Applications
Because of its platform independence, the PC applications of the µracoli project are written in Python, which uses a few additional packages that are not part of the standard distribution. Additionally when developping more complex wireless applications a wireless sniffer tool makes the debugging process a lot easier.

  1. pyserial (optional)
    http://pyserial.sourceforge.net
    The pyserial package provides plattform independent access to serial interfaces of a PC. It is mandatory needed for any Python application that communicates via serial interface with an AVR microcontroller. The package should be installed, and has to be installed, if the packet capturing is used.
  2. py2exe (optional, only windows)
    http://www.py2exe.org/
    py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. The package should be installed with windows esxecutables should be generated from python scripts.
  3. Wireshark (optional)
    http://www.wireshark.org/
    In conjunction with the µracoli packet capture tool, wireshark is used for decoding and displaying frames, captured on air. The package should be installed, and has to be installed, if the packet capturing is used.

Source Code Managment
This tools are used if you want to check in and check out the µracoli source code directly from the CVS repository.

  1. CVS (optional but highly recommended)
    http://cvs.nongnu.org
    The cvs tool (Concurrent Versions System) is needed for checking out, comparing and committing files from and to the source code repository. The tool is needed to update the local µracoli project tree from the repository. Since the project changes rapidly in this development phase, the tool is highly recommended to be installed.
  2. ssh and ssh-agent (optional)
    http://www.openssh.com/
    The secure shell is needed for accessing the repository as registered µracoli developer. All other people interested in the project, will be able to do an anonymous checkout via the pserver protocol.

This documentation for µracoli was generated on 21 Jan 2010 by  doxygen 1.5.5