Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Examples

Introduction to Contiki development under Microsoft Windows
[The ESB Embedded Sensor Board]

Author:
Joakim Eriksson, Niclas Finne

Introduction

This is a brief introduction to Contik/ESB programming under Windows using cygwin and some other free software tools.

Installing the development environment

This sections describes how to install all the necessary software to get started with ESB programming.

Cygwin - a Linux-like environment for Windows

The first "need to have" software is the cygwin environment that can be found at http://www.cygwin.com. Click on the icon "Install Cygwin Now" to the right to get the installation started.

Choose "Install from Internet" and then specify where you want to install cygwin (recommended installation path: C:$ $cygwin). Continue with the installation until you are asked to select packages. Most packages can be left as "Default" but there is one package that are not installed by default. Install the following package by clicking at "Default" until it changes to "Install":

cygwin6b.jpg

When cygwin is installed there should be a cygwin icon that starts up a cygwin bash when clicked on. Whenever it is time to compile and send programs to the ESB nodes it will be done from a cygwin shell.

C programming editor

If you do not already have a nice programming editor it is a good idea to download and install one. The Crimson editor is a nice windows based editor that is both easy to get started with and fairly powerful.

Crimson Editor can be found at: http://www.crimsoneditor.com/

The editor is useful both when editing C programs and when modifying scripts and configuration files.

MSP430 Compiler and tools}

The MSP430 compiler (a version of gcc) is needed to compile the programs to the MSP430 microprocessor that is used on the ESB sensor nodes. We have made a webpage which describe how to get the compilers and other tools for programming the ESB nodes, see: http://www.sics.se/sensornets/esblab/

Download and install the GCC toolchain for MSP430 (recommended installation path: C:$$MSP430$$): mspgcc-20041112.exe.

You will also need some tools for sending the compiled programs over to the ESB nodes. Install the IAR Embedded Workbench (Kickstart Version) package (recommended installation path: C:$$MSP430$$IARSystems): fet_r304.exe.

When the above software is installed you also need to set-up the PATH so that all of the necessary tools can be reached. In cygwin this is done by the following line (given that you have installed at recommended locations):

export PATH=$PATH:/cygdrive/c/MSP430/IARSystems/ew23: /cygdrive/c/MSP430/IARSystems/ew23/430/bin:/cygdrive/c/MSP430/mspgcc/bin

This line can also be added to the .profile startup file in your cygwin home directory (C:$$cygwin$$home$$<YOUR username>="">$$.profile).

If your home directory is located elsewhere you can find it by starting cygwin and running cd followed by pwd.

The Contiki operating system, including examples and labs

When programming the ESB sensor nodes it is very useful to have an operating system that takes care of some of the low-level tasks and also gives you as a programmer APIs for things like events, hardware and networking. We will use the Contiki operating system developed by Adam Dunkels, SICS, which is very well suited when programming small embedded systems.

Download Contiki for ESB nodes from the same page as before (Contiki ESB).

Unzip the Contiki OS at (for example) C:$$ and you will get the following directories:

Testing the tools

Now everything necessary to start developing Contiki-based sensor net applications should be installed. Start cygwin and change to the directory labs/intro. Then call make esbintro.

If you get an error about multiple cygwin dlls when compiling, you need to delete cygwin1.dll from the MSP430 GCC toolchain (C:$ $MSP430$$bin$$cygwin1.dll).

Connect a node and turn it on. Upload the test application by calling make esbintro.u.

Development tools

Some basic shell commands

winintro-testing-excercises

compile and start the esbintro application (remember to change directory to contiki-esb before you run make) modify the C code and make the yellow led be on when the red is off (and vice versa). The code is in the contiki-esb/labs/intro folder. Hint: Add another line controlling the yellow led in the section:
  if (timer_expired(&timer)) {
    timer_reset(&timer);
    leds_red(on ? LEDS_ON : LEDS_OFF);
    on = !on;
  }


Generated on Thu Jun 22 17:45:43 2006 for Contiki 2.x by  doxygen 1.4.4