[Tinyos-help] Problems with TinyOS 2.0 / Boomerang coexistence
Elias Weingärtner
tinyos at verspult.com
Fri Nov 17 02:53:19 PST 2006
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
More information about the Tinyos-help
mailing list