Development tools for Windows

Note: the files needed for development are temporary cached locally here.

MSP430 Compiler and tools

Följande text ska läggas in i en fil med namnet .profile i hemkatalogen för Cygwin. För att hitta hemkatalogen för Cygwin: starta Cygwin, skriv kommandot pwd, då kommer hemkatalogen att skrivas ut.

export PATH="$PATH:/cygdrive/c/MSP430/IAR Systems/ew23:/cygdrive/c/MSP430/IAR Systems/ew23/430/bin:/cygdrive/c/MSP430/mspgcc/bin"

Om kompilatorn lagts på annat ställe än c:\MSP430 måste ovanstående rad modifieras: byt ut MSP430 mot den katalog som kompilatorn är installerad.

Om kompilatorn är installerad i mappen "Program files" ska raden vara som följer:
export PATH="$PATH:/cygdrive/c/Program files/IAR Systems/ew23:/cygdrive/c/Program files/IAR Systems/ew23/430/bin:/cygdrive/c/MSP430/mspgcc/bin"

Kompilera Contiki

Starta Cygwin. Gå till katalogen contiki-esb som fanns i "Contiki ESB"-paketet. Denna katalog nås med "cd"-kommandot i Cygwin. Om katalogen esblab ligger i C:\MSP430 så ska följande kommandon skrivas:

cd c:
cd MSP430
cd esblab
cd contiki-esb

För att kompilera Contiki-koden, kör kommandot "make":

make

Kompilera testprogrammet och ladda ner det på ESB-hårdvaran: (kontrollera att ESBn är inkopplad och påslagen)

make esbintro.winu

Contiki larmlab och prototrådar

Lägg till följande rad till början av filen alarm.c:

#include "pt.h"

Koden för prototråden alarm_thread() kan se ut så här:

static struct pt alarm_pt;

static
PT_THREAD(alarm_thread(struct pt *pt))
{
  PT_BEGIN(pt);

  while(1) {
    PT_WAIT_UNTIL(pt, timer_expired(&timer));
    beep();
    timer_reset(&timer);
  }
  
  PT_END(pt);
}

Prototråden måste initialiseras från init-hanteraren:

LOADER_INIT_FUNC(setup_app, arg)
{
  arg_free(arg);

  /*   Setup process */
  ek_start(&p);

  /* Init protothread */
  PT_INIT(&alarm_pt);
  
  /*   Init timer */
  timer_set(&timer, CLOCK_SECOND / 4);
}

Prototråden måste anropas från pollhanteraren:

EK_POLLHANDLER(pollhandler)
{
  alarm_thread(&alarm_pt);

  /* resten av pollhanteraren fortsätter här */