Hello

I'm new to tinyos. In the team I'm working we're using the tmote
sky/mini devices from Moteiv. I'm running Debian on my PC (the
colleagues are using cygwin). I've installed the following upstream
sources to /opt/cj/msp430/:

binutils-2.17
gcc-3.2.3
gdb-6.0
msp430-libc
nesc-1.1.2b
tinyos-1.1.15Dec2005cvs

Additionally I've unpacked the Moteiv Cygwin RPM's to /opt/MOTEIV/,
then I've symlinked the platform neutral parts of them to the same
locations as they would appear under cygwin:

$ l /opt/MOTEIV/
drwxr-xr-x 7 chris chris 168 2007-07-17 16:34 usr
drwxrwxr-x 5 chris chris 128 2007-07-17 16:34 opt
drwxrwxr-x 3 chris chris  80 2007-07-17 16:34 etc

"usr" contains cygwin .exe files and libraries, "etc" only contains
/etc/profile.d/tinyos_moteiv.sh, so I'd expect the only relevant files
are from "opt".

$ l /opt/MOTEIV/opt/
drwxr-xr-x 10 chris chris 240 2007-07-17 16:34 msp430
drwxrwxr-x  7 chris chris 176 2007-07-17 16:35 moteiv
drwxr-xr-x  7 chris chris 344 2007-08-01 13:40 tinyos-1.x

so I did a "cd /opt; ln -s MOTEIV/opt/* .", so that I've got now:

$ l /opt/
drwxr-xr-x 3 root  root  72 2007-07-18 12:14 cj
drwxr-xr-x 5 chris root 120 2007-08-01 13:36 MOTEIV
lrwxrwxrwx 1 root  root  21 2007-08-01 13:37 tinyos-1.x -> MOTEIV/opt/tinyos-1.x
lrwxrwxrwx 1 root  root  17 2007-08-01 13:37 msp430 -> MOTEIV/opt/msp430
lrwxrwxrwx 1 root  root  17 2007-08-01 13:37 moteiv -> MOTEIV/opt/moteiv
drwxr-xr-x 2 chris root  72 2007-08-14 13:27 cj-bin

Additionally I did a "mkdir /opt/cj-bin; ln -s
/opt/MOTEIV/opt/tinyos-1.x/tools/src/motelist/motelist-linux
/opt/cj-bin/motelist", and added "/opt/cj-bin" and
"/opt/cj/msp430/bin" to my PATH.

$ l /opt/cj-bin/
lrwxrwxrwx 1 chris chris 60 2007-08-14 13:27 motelist -> 
/opt/MOTEIV/opt/tinyos-1.x/tools/src/motelist/motelist-linux

$ echo $PATH
/opt/cj-bin:/opt/cj/msp430/bin:/home/chris/bin:/root/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

motelist actually works:

$ motelist Reference Device Description
---------- ---------------- ---------------------------------------------
M4A7O5WG   /dev/ttyUSB0     Moteiv tmote sky

I also set the MAKERULES env var:

$ echo $MAKERULES /opt/tinyos-1.x/tools/make/Makerules

$ l /opt/tinyos-1.x/tools/make/Makerules
-rw-r--r-- 1 chris chris 6275 2007-07-17 16:34 
/opt/tinyos-1.x/tools/make/Makerules

$ cd /opt/moteiv/apps/Count/CountSend
$ make tmote
/opt/tinyos-1.x/tools/make/Makerules:166: ***
Usage:  make <target> <extras>
       make <target> help

       Valid targets: all cc2420dbk clean eyesIFX eyesIFXv1 eyesIFXv2 imote2 
mica mica2 mica2dot micaz pc snms_schema telos telos_hc08 telosa telosb
       Valid extras: bnp deluge deps docs hood ident_flags msg nescDecls 
redeluge registry rpc tinysec tos_image

Welcome to the TinyOS make system!

You must specify one of the valid targets and possibly some combination of
the extra options.  Many targets have custom extras and extended help, so be
sure to try "make <target> help" to learn of all the available features.

Global extras:

  docs    : compile additional nescdoc documentation
  tinysec : compile with TinySec secure communication

ERROR, "tmote ident_flags tos_image bnp" does not specify a valid target.  Stop.

$ make telos mkdir -p build/telos
   compiling CountSendC to a telos binary
ncc -o build/telos/main.exe -O -mdisable-hwmul -I/opt/tinyos-1.x/tos/lib/CC2420Radio -I/opt/tinyos-1.x/tos/lib/Flash -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=telos -fnesc-cfile=build/telos/app.c -board= -I.. -I%T/lib/Deluge -Wl,--section-start=.text=0x1a00,--defsym=_reset_vector__=0x1100 -DIDENT_PROGRAM_NAME=\"CountSendC\" -DIDENT_USER_ID=\"chris\" -DIDENT_HOSTNAME=\"palme\" -DIDENT_USER_HASH=0x4ec94c4eL -DIDENT_UNIX_TIME=0x46c1b1b1L -DIDENT_UID_HASH=0x54d4360bL CountSendC.nc -lm In file included from CountSendC.nc:18:
../CountMsg.h:19: parse error before `enum'
make: *** [exe0] Error 1


$ ncc --version
ncc: 1.1.2b
$ msp430-gcc --version
msp430-gcc (GCC) 3.2.3
..
$ make --version
GNU Make 3.81
..
$ msp430-gdb --version
GNU gdb 6.0
$ uisp --version
uisp version 20050519tinyos
..

So I think I've got two problems here, for one the "tmote" target is
not supported (why?), and then the ncc version I'm using doesn't seem
to like the source code here.

How can I fix those?

For the ncc problem: will it be better to hunt down the precise
version of ncc that Moteiv is using, or am I better off using recent
upstream versions (what code or support will I miss from MoteIv?).

Thanks for any comments.

Christian.


_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to