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"
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
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 */