TinyOS:Οδηγίες Χρήσης
Από DistrSys
Αν έχετε κατεβάσει το VMWare image του Χubuntos, το μόνο πράγμα που πρέπει να κάνετε είναι να κάνετε edit στο αρχείο .bash_tinyos που βρίσκεται στο home directory σας.
Πρέπει η γραμμή στο ακόλουθο μέρος του αρχείου
export TINYOS_VER=2
να αλλαχθεί σε
export TINYOS_VER=1
για να δουλεύετε έτσι με το Tinyos 1 και όχι το 2.
Τα παρακάτω δεν ισχύουν για την περίπτωση που χρησιμοποιείτε το Xubuntos Live CD ή το αντίστοιχο VMWare image, αλλά για την περίπτωση που έχετε κάνει εγκατάσταση του Tinyos με τους υπόλοιπους τρόπους που αναφέρουμε στην σελίδα με τις οδηγίες εγκατάστασης.
Για να χρησιμοποιήσετε το περιβάλλον tinyOS πρέπει να κάνετε τα εξής:
1. Πρέπει καταρχήν να ξέρετε που είναι ο κεντρικός φάκελος του tinyOS (tinyOS root directory) και του GNU GCC Compiler (έκδοση 3.2 ή 3.3). Έστω ότι αυτός ο φάκελος είναι ο <tinyos-root-path> και ο GCC compiler <gcc-path>.
π.χ. σε μια τυπική εγκατάσταση του tinyOS, ο <tinyos-root-path> είναι: /opt/tinyos-1.x και σε ένα σύστημα με πολλές εκδόσεις του gcc, η έκδοση 3.2 και 3.3 αντίστοιχα είναι: /usr/bin/gcc-3.2 /usr/bin/gcc-3.3
2. Στον home φάκελο του λογαριασμού σας δημιουργήστε έναν φάκελο (tinyOS home directory) για τα δικά σας αρχεία του tinyOS (π.χ. αλγόριθμοι, τοπολογίες, κλπ.). Στον νέο φάκελο, έστω <tinyos-home-path>, πρέπει να αντιγραφούν τα αρχικά αρχεία αλγορίθμων του tinyOS που βρίσκονται στον φάκελο <tinyos-root-path>/apps. Επίσης στον φάκελο <tinyos-home-path> πρέπει να αντιγραφεί το αρχείο <tinyos-root-path>/Makefile, να δημιουργηθεί ένας επιπλέον φάκελος <tinyos-home-path>/gcc και μέσα να δημιουργηθεί ένας συμβολικός σύνδεσμος gcc στον GNU GCC compiler (έκδοση 3.2 ή 3.3) <gcc-path>
csh/tcsh/sh/bash: mkdir <tinyos-home-path> cp -R <tinyos-root-path>/apps <tinyos-home-path> cp <tinyos-root-path>/Makefile <tinyos-home-path> mkdir <tinyos-home-path>/gcc ln -s <gcc-path> <tinyos-home-path>/gcc/gcc π.χ. σε μια τυπική εγκατάσταση του tinyOS: mkdir ~/myTinyOS cp -R /opt/tinyos-1.x/apps ~/myTinyOS cp /opt/tinyos-1.x/Makefile ~/myTinyOS mkdir ~/myTinyOS/gcc ln -s /usr/bin/gcc-3.3 ~/myTinyOS/gcc/gcc
3. Πρέπει να δημιουργήσετε ένα script που να κάνει χρήση του εργαλείου make με την συγκεκριμένη έκδοση του GNU GCC Compiler. Το script πρέπει να τοποθετηθεί στον φάκελο <tinyos-home-path> και να ορισθεί ως εκτελέσιμο (chmod +x tosmake.sh).
Περιεχόμενα αρχείου tosmake.sh: #!/bin/bash # PATH=<tinyos-home-path>/gcc:$PATH make $* π.χ. σε μια τυπική εγκατάσταση του tinyOS το αρχείο tosmake.sh πρέπει να περιέχει: #!/bin/bash # PATH=~/myTinyOS/gcc:$PATH make $* και να δώσετε chmod +x tosmake.sh
4. Πρέπει να αναθέσετε τον <tinyos-root-path> στην μεταβλητή περιβάλλοντος TOSROOT και στην μεταβλητή περιβάλλοντος TOSDIR να αναθέσετε "<tinyos-root-path>/tos". Αυτό εξαρτάται από το Unix shell που χρησιμοποιείτε και γίνεται ως εξής:
csh/tcsh: setenv TOSROOT <tinyos-root-path> setenv TOSDIR <tinyos-root-path>/tos sh/bash: export TOSROOT=<tinyos-root-path> export TOSDIR= <tinyos-root-path>/tos π.χ. σε μια τυπική εγκατάσταση του tinyOS και σε csh/tcsh πρέπει να δώσετε: setenv TOSROOT /opt/tinyos-1.x setenv TOSDIR /opt/tinyos-1.x/tos
5. Πρέπει να αναθέσετε τιμή και σε μία άλλη μεταβλητή περιβάλλοντος που λέγεται PATH, για να γίνει πιο εύκολη η χρήση του script tosmake.sh.
csh/tcsh:
setenv PATH <tinyos-home-path>:${PATH}
sh/bash:
PATH=<tinyos-home-path>:$PATH
export PATH
π.χ. σε μια τυπική εγκατάσταση του tinyOS και σε csh/tcsh πρέπει να δώσετε:
setenv PATH ~/myTinyOS:${PATH}
6. Πρέπει να αναθέσετε τιμή και σε μία άλλη μεταβλητή περιβάλλοντος που λέγεται CLASSPATH και είναι σημαντική όταν χρησιμοποιείτε βιβλιοθήκες της java.
csh/tcsh:
setenv CLASSPATH "`$TOSROOT/tools/java/javapath`":${CLASSPATH}
sh/bash:
CLASSPATH="`$TOSROOT/tools/java/javapath`":$CLASSPATH
export CLASSPATH
π.χ. σε μια τυπική εγκατάσταση του tinyOS και σε csh/tcsh πρέπει να δώσετε:
setenv CLASSPATH "`$TOSROOT/tools/java/javapath`":${CLASSPATH}
αν η μεταβλητή περιβάλλοντος CLASSPATH δεν είναι ορισμένη, τότε πρέπει να δώσετε:
setenv CLASSPATH "`$TOSROOT/tools/java/javapath`"
7. Εντοπίστε το αρχείο <tinyos-home-path>/apps/Makerules.
εντοπίστε την γραμμή: NESC_FLAGS := -Wnesc-all αλλάξτε την σε: NESC_FLAGS := -Wnesc-all -topdir=<tinyos-home-path> π.χ. σε μια τυπική εγκατάσταση του tinyOS για τον χρήστη ichatz πρέπει να αλλάξετε σε: NESC_FLAGS := -Wnesc-all -topdir=/home/ichatz/myTinyOS
8. Το περιβάλλον tinyOS είναι έτοιμο για χρήση. Για να κάνετε μια δοκιμή, δώστε τις ακόλουθες εντολές:
cd <tinyos-home-path>/apps/Blink
tosmake.sh pc
το περιβάλλον θα επιστρέψει:
compiling Blink to a pc binary
ncc -o build/pc/main.exe -g -O0 -board=micasb -pthread -target=pc
-DCC1K_DEF_FREQ=900000000 -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d
-Wnesc-all -fnesc-nido-tosnodes=1000 -fnesc-cfile=build/pc/app.c Blink.nc -lm
/opt/tinyos-1.x/tos/platform/pc/heap_array.c:193: warning: `__nesc_nido_resolve' defined but not used
compiled Blink to build/pc/main.exe
25776 bytes in ROM
618024 bytes in RAM
και στην συνέχεια δώστε:
export DBG=led
./build/pc/main.exe 1
το περιβάλλον θα επιστρέψει:
0: LEDS: Red off.
0: LEDS: Red on.
0: LEDS: Red off.
0: LEDS: Red on.
0: LEDS: Red off.
0: LEDS: Red on.
0: LEDS: Red on.
...
Exiting on SIGINT at 4:3:10.63160175.
πατήστε CTRL-C για να σταματήσει.

