Folks,

I'm having some troubles with the coexistence of TinyOS 2.0 and
Boomerang, running inside the same Cygwin installation.

One could also consider this as a not finished tutorial how to run
both versions nicely side by side :-)

What I did:

- I installed Boomerang 2.0.4
- As we are using both MicaZ and soon tmote sky in our lab, I installed the
  Atmel AVR Tools using the rpms on the TinyOS 2.0 installation site.

At this point, I had a installation that nicely
compiled TinyOS 1.X applications (examples an my own ones) on both
MicaZ and tmote platforms.

As I want to use TinyOS 2.0 for a bigger project, I decided to install
it within the existing installation using
tinyos-2.0.0-2.cygwin.noarch.rpm, again from the TinyOS 2.0 site.
I did not upgrade the tinyos-tools and nesc, as to my knowledge
booerang already uses versions that are up to date.

Following this step, I dumped my environment variables using "SET >
tinyos1x.sh", replacing "declare -x" with "export".
This provides me a script and I can use the command "source
tinyos1x.sh" to adjust cygwin to perfectly run Boomerang if
environment variables are changed.

In the next step, I tried to get TinyOS 2.0 running. Therefore I
created a simple bash script tinyos2.sh:

>export TOSROOT="/opt/tinyos-2.x"
>export TOSDIR="$TOSROOT/tos"
>export CLASSPATH=`cygpath -w $TOSROOT/support/sdk/java/tinyos.jar`
>export CLASSPATH="$CLASSPATH;.;C:\\Programme\\Java\\jre1.5.0_06\\lib\\ext\\"
>export MAKERULES="$TOSROOT/support/make/Makerules"
>export 
>PATH="/cygdrive/c/Programme/Java/jdk1.5.0_06/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/ATT/Graphviz/bin:/opt/msp430/bin"

Executing "source tinyos2.sh" from bash should provide me with a
running TinyOS 2.0 installation, and actually it does. Example
applications compile nicely for micaZ and telosb, but not for tmote!

Executing "make tmote" in apps/Blink gives me a very strange result:

>mkdir -p build/tmote compiling BlinkAppC to a tmote binary ncc -o
>build/tmote/main.exe -Os -O -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d
>-Wnesc-all -target=tmote -fnesc-cfile=build/tmote/app.c -board=
>-mdisable-hwmul -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all
>-target=tmote -fnesc-cfile=build/tmote/app.c -board=
>-I/opt/moteiv/tos/platform/tmote
>-I/opt/moteiv/tos/platform/tmote/util/uartdetect
>-I/opt/moteiv/tos/platform/msp430/adc
>-I/opt/moteiv/tos/platform/msp430/dac
>-I/opt/moteiv/tos/platform/msp430/dma
>-I/opt/moteiv/tos/platform/msp430/resource
>-I/opt/moteiv/tos/platform/msp430/timer
>-I/opt/moteiv/tos/platform/msp430 -I/opt/moteiv/tos/lib/util/pool
>-I/opt/moteiv/tos/lib/util/button -I/opt/moteiv/tos/lib/util/null
>-I/opt/moteiv/tos/lib/util -I/opt/moteiv/tos/lib/MultiHopLQI
>-I/opt/moteiv/tos/lib/netsync -I/opt/moteiv/tos/lib/sp
>-I/opt/moteiv/tos/lib/sp/cc2420 -I/opt/moteiv/tos/lib/timer
>-I/opt/moteiv/tos/lib/resource -I/opt/moteiv/tos/lib/sched
>-I/opt/moteiv/tos/lib/Deluge -I/opt/moteiv/tos/lib/Flash/STM25P
>-I/opt/moteiv/tos/lib/Flash -I/opt/moteiv/tos/lib/Spram
>-I/opt/moteiv/tos/interfaces -I/opt/moteiv/tos/lib/CC2420Radio
>-I/opt/moteiv/tos/system -I/opt/moteiv/tinyos-1.x/tos/lib/CC2420Radio
>-I/opt/moteiv/tinyos-1.x/tos/lib/Drip
>-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
>-Wl,--section-start=.text=0x4800,--defsym=_reset_vector__=0x4000
>-DLIB_DELUGE -DDELUGE_NUM_IMAGES=6 -mdisable-hwmul BlinkAppC.nc -lm
>target `exe'
>/opt/moteiv/tools/make/msp_moteiv/msp_moteiv.rules:79: warning: ignoring old co
>mands for target `exe'
>/opt/tinyos-2.x/support/make/msp/msp.rules:84: warning: overriding commands for
>target `exe0'
>/opt/moteiv/tools/make/msp_moteiv/msp_moteiv.rules:82: warning: ignoring old co
>mands for target `exe0'
>/opt/tinyos-2.x/support/make/msp/msp.rules:92: warning: overriding commands for
>target `builddir'
>/opt/moteiv/tools/make/msp_moteiv/msp_moteiv.rules:87: warning: ignoring old 
>comands for target `builddir'
>/opt/tinyos-2.x/support/make/msp/msp.rules:95: warning: overriding commands for
target `bytes'
>/opt/moteiv/tools/make/msp_moteiv/msp_moteiv.rules:90: warning: ignoring old co
mands for target `bytes'
>/opt/tinyos-2.x/support/make/tmote.target:17: warning: overriding commands for
>target `tmote'
>/opt/moteiv/tools/make/tmote.target:91: warning: ignoring old commands for 
>targt `tmote'
>multiple targets specified
>make: *** [exe0] Error 2

Obviously, the make process mixes up source files from boomerangs' tinyos 1.x 
and
2.x - which clearly does not work... My final question: Do I simply
have to clear out an environment variable to get this running? Or
should I change the makerules of tinyos 2.0 ?

(If I switch back to tinyos 1.x using my bash script mentioned above,
everything works fine)

Regards,
Elias Weingärtner
Institute of Computer Science
Ulm University, Germany





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

Reply via email to