安装TinyOS需要六个步骤。
1.Installing a Java 1.5 JDK.
安装java jdk 1.5需要配置环境变量
2.Install Cygwin.
安装Windows下的Linux模拟器,cygwin
3.Installing native compilers.
安装单片机工具,AVR或MSP430,根据自己需要。
4.Installing the nesC compiler.
安装nesC和TinyOS_tool
5.Installing the TinyOS source tree.
安装TinyOS2.0.2主文件。
6.Installing the Graphviz visualization tool
安装Graphviz并配置环境变量
一.安装JDK 1.5
下载JDK 2.5 在SUN的官方网站http://java.sun.com/. 安装并配置JDK的环境变量。
二.安装Cygwin
下装Cygwin-1.2a于http://www.tinyos.net/dist-1.2.0/tools/windows/cygwin-1.2a.tgz
这个版本TinyOS官方测试过,和TinyOS兼容度高。
三.安装单片机工具
下载以下五个rpm包
1.avr-binutils-2.15tinyos-3.cygwin.i386.rpm(http://www.tinyos.net/dist-2.0.0/tools/windows/avr-binutils-2.15tinyos-
3.cygwin.i386.rpm)
2.avr-gcc-3.4.3-1.cygwin.i386.rpm(http://www.tinyos.net/dist-2.0.0/tools/windows/avr-gcc-3.4.3-1.cygwin.i386.rpm)
3.avr-libc avr-libc-1.2.3-1.cygwin.i386.rpm(http://www.tinyos.net/dist-2.0.0/tools/windows/avr-libc-1.2.3-
1.cygwin.i386.rpm)
4.avarice avarice-2.4-1.cygwin.i386.rpm(http://www.tinyos.net/dist-2.0.0/tools/windows/avarice-2.4-1.cygwin.i386.rpm)
5.insight (avr-gdb) avr-insight-6.3-1.cygwin.i386.rpm(http://www.tinyos.net/dist-1.2.0/tools/windows/avr-insight-6.3
-1.cygwin.i386.rpm)
下载完成之后把五个包都拷贝到Cygwin的tmp文件夹(在Windows操作即可)
依次安装(要按照顺序安装,它们之间有依赖关系),安装命令如下。
cd /tmp
rpm –ivh avr-binutils-2.15tinyos-3.cygwin.i386.rpm
rpm –ivh avr-gcc-3.4.3-1.cygwin.i386.rpm
rpm –ivh avr-libc-1.2.3-1.cygwin.i386.rpm
rpm –ivh avarice-2.4-1.cygwin.i386.rpm
rpm –ivh vr-insight-6.3-1.cygwin.i386.rpm
每安装一个程序都可以用“rpm –qa”命令查看是否安装成功
如果报错的话可以使用 rpm --ignoreos -ivh 文件名 安装,但会对后序安装和使用的影响。
四.安装nesC,TinyOS tool
下载nesC和TinyOS tool同样拷贝到tmp目录下。
nesc-1.2.8b-1.cygwin.i386.rpm(http://www.tinyos.net/dist-1.2.0/tinyos/windows/nesc-1.2.8b-1.cygwin.i386.rpm)
tinyos-tools-1.2.4-2.cygwin.i386.rpm(http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-tools-1.2.4-
2.cygwin.i386.rpm)
依次安装,安装命令如下(如果不用--ignoreos命令可以成功的话尽量不要用):
rpm --ignoreos –Uvh nesc-1.2.8b-1.cygwin.i386.rpm
rpm --ignoreos –Uvh tinyos-tools-1.2.4-2.cygwin.i386.rpm
五.安装TinyOS 2.0.2
下装TinyOS 2.0.2的文件于http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-2.0.2-2.cygwin.noarch.rpm拷贝到tmp目录下。
使用以下命令安装:
rpm –ignoreos(必要时) –ivh tinyos-2.0.2-2.cygwin.noarch.rpm
六.安装Graphviz配置环境变量
1.安装Graphviz,这一步尤其匪夷所思,下载graphviz-1.10,安装即可(PS:我没找到rpm文件,于是下载的.exe文件在Windows下安
装都成功了,无语ing......)
2.配置环境变量
通过在“/etc/profile.d”目录下建立一个tinyos.sh的文件就可以正常运行了,可以将下面的代码保存成tinyos.sh文件。
# script for profile.d for bash shells, adjusted for each users
# installation by substituting /opt for the actual tinyos tree
# installation point.
TOSROOT="/opt/tinyos-2.x"
export TOSROOT
TOSDIR="$TOSROOT/tos"
export TOSDIR
CLASSPATH="$TOSROOT/support/sdk/java/tinyos.jar;."
export CLASSPATH
MAKERULES="$TOSROOT/support/make/Makerules"
export MAKERULES
搭建成功后可以使用tos-check--env检测是否安装成功,如果成功,可以编译Blink程序程序可以正常运行。
进入Cygwin
$ cd /opt/tinyos-2.x/apps/Blink
$ make micaz
编译成功后Blink文件夹将生成编译成功的文件,在Bulid文件夹内。
TinyOS2.0安装总结
第一部分:j2sdk的安装以及环境变量的配置
一、j2sdk的安装:
下载相应的j2sdk,TinyOS2.0要求安装j2sdk1.5及以上的版本,直接进行安装即可(最好安装1.5版本吧)
主要为设置环境变量,假设j2sdk的安装路径为C: /j2sdk
二、环境变量的配置:
1、 JAVA_HOME:指向JDK的安装路径,在改路径下可以找到bin、lib等目录
JAVA_HOME=C: \j2skd
2、 PAHT:设置改环境变量的目的是为了指向JDK的bin目录,在bin目录放的是各种编译执行命令
需要说明的是,系统本身就有多种PATH环境变量,只要把%JAVA_HOME%\bin; 直接放到后面即可,中间用”;”隔开
3、 CLASSPATH:设置类的路径
CLASSPATH=.;%JAVA_HOME%/lib;
最前面加上”.”和”;”,意为首先在当前目录中查找。
第二部分:Cygwin、TinyOS的安装以及配置
1.首先安装一个cygwin-release的完全版本,在安装过程中会出现一个让你选择是否完全安装的对话框,用鼠标点击所有的插件进行安装,以方便在后续的ns2等模拟软件的顺利安装。
2. 在http://www.tinyos.net 的网站上下载cygwin-1.2a.tar的压缩包,在windows下用winRAR进行解压缩即可。
附:第一次解压后产生的是一个名为cygwin-1.2a的文件,再次解压缩即可得一个名为cygwin-installationfiles的文件夹。
注明:下载该软件并安装的主要目的是为了对步骤1的cygwin进行升级。
3. 从windows下进入该文件夹,双击运行里面的setup.exe文件。
选择Install from Local Directory
下一步:注意是All User和 UNIX,目录即选择自己打算安装cygwin的目录
再下一步,这个目录就是你将cygwin-1.2a.tar解压后的目录,没改名的话该是cygwin-installationfiles的文件夹
再往下就可以一直选下一步让其安装了。
最后运行到99%时可能会有些慢,多等会就好了。
然后就完成。
它会在桌面创建一个图标,双击运行即可,如果有什么问题,可以试着重启下电脑。(也可以装新版cygwin,具体安装过程大同小异,我是将cygwin所有的安装文件夹都装了,也可以需要什么命令再装,可以补装,不影响先装的工具。)
4. 安装avr单片机工具和MSP430单片机工具。(我没装后一种工具)
从www.tinyos.net上下载下相应的rpm文件用如下命令安装即可。将其下载下来后可以也都放在C: /cygwin/tmp 文件夹下面。
用rpm –ivh <package>进行安装,步骤如下:
$ cd /tmp (cd 命令更多是从当前目录往下级展开,cd..等《参见Cygwin基本操作命令》,可以先退出用户目录,再明确自己当前位置)
$ rpm –ivh <package>
每安装完了一个可以用rpm –qa查看是否己经成功安装。
每安装完一个后即可用rpm –qa进行查看。
如果在安装过程中出现了
<package> is intended for a cygwin_nt-5.1 operating system
或是
<package> is intended for a cygwin operating system
这样的错误,如果你是按www.tinyos.net网站上的说明来做,那么你应该是没有升级下你的cygwin,你所用的cygwin版本与tinyos2.0不兼容。
其它一些问题,则可用--ignoreos参数,当然可能会导致最后出些问题,因为也不知道忽略的哪些地方。(不兼容好像也可以忽略安装,问题好像不大,安装的版本不同,会有差别,我是都要忽略安装,直到安装tinyos2.0.2才没忽略,也成功安装了)
具体的安装指令为:
rpm -–ignoreos–ivh avrname(avrname换成相应的工具名称)
5、安装msp430tools
如果安装这个顺利,在此时安装msp430tools,可能会出现错误,提示信息:
error: Failed dependencies:
/bin/sh is needed by <package>
原因是因为msp430tools的安装似乎仅对后面的平台有些影响,故是在tinyos2.0全部安装完后再去安装的,可以轻松地避免此类错误的发生,能够正常的安装了,估计是因为再一步步往下安装的过程中对环境变量的配置改正了一些。
推荐msp430tools在tos-check-env正常后安装。
6、安装nesc和tinyos-tools
安装这两个用rpm –ivh即可正常安装,不得以可以考虑采用下—ignoreos参数。
nesC应该是安装nesc-1.2.8b-1.cygwin.i386.rpm这个文件
用nesc-1.2.8a-1.cygwin.i386.rpm会有如下的错误提示:
package nesc-1.2.8a-1 is intended for a cygwin operating system
在安装tinyos-tools-1.2.4-2.cygwin.i386.rpm时最后我使用了--ignoreos才正常安装了。
7.安装tinyos-2.0
下载下tinyos-2.0.2-2.cygwin.noarch.rpm,也是用rpm –ivh rpmname进行安装
8、环境变量配置
1、所有的安装都己经结束,接着是环境变量的配置:
找到/etc/profile.d
进入该文件夹后,需要自己建一个名为tinyos.sh的文件,因为.sh的文件并非普通的文件,不能用记事本直接重命名,建议复制其目录下的某个.sh文件,再改下名字,并将其中的内容用以下的内容替代:
(建议采用UltraEdit这个工具,比较强大的一个文本编辑器)(用这个工具,能够保证不改变文件格式)
# script for profile.d for bash shells, adjusted for each users
# installation by substituting /opt for the actual tinyos tree
# installation point.
TOSROOT="/opt/tinyos-2.x"
export TOSROOT
TOSDIR="$TOSROOT/tos"
export TOSDIR
CLASSPATH="$TOSROOT/support/sdk/java/tinyos.jar;."
export CLASSPATH
MAKERULES="$TOSROOT/support/make/Makerules"
export MAKERULES
保存好。
8.安装Graphviz
其实只用直接去下graphviz-1.10.exe文件,双击运行直接安装在Windows中就可以了。安装完后退出cygwin再重新运行下。(不推荐在装好cygwin前安装)
请注意这里下载的版本一定要是graphviz1.10的版本,否则会提示版本信息不对。
应该就是大功告成了。
改好之后双击运行,输入tos-check-env运行,将出现如下信息:
中间省略
看到如上信息的话基本OK,可以进行下一步的测试了。
我们知道tinyos为我们提供了一个仿真器TOSSIM,TOSSIM是tinyos的一个库,它的核心代码在tos/lib/tossim下。下面我们在安装好的tinyos中来编译tossim。命令如下:
打开cygwin ,进入cygwin/opt/tinyos-2.x/apps/Blink
cd /opt/tinyos-2.x/apps/Blink(转到Blink文件下,cd命令参见《Cygwin基本操作命令》)
如图:
运行make micaz sim 指令。正常情况如图:
……………………(略)
如果不能出现Successfully built(cygwin用最新版吧),要修改一个文件:
打开C:\cygwin\opt\tinyos-2.x\support\make\sim.extra 将部分代码修正如下
GCC=gcc
GPP=g++
OPTFLAGS = -g -O0
LIBS = -lm-lstdc++
PFLAGS += -tossim-fnesc-nido-tosnodes=1000-fnesc-simulate-fnesc-nido-motenumber=sim_node\ (\)
CFLAGS += -I/path (*新增加行,原因Python.h不在默认路径“/usr/include”,而在C: \cygwin\usr\include\python2.3)
WFLAGS = -Wno-nesc-data-race
PYTHON_VERSION=2.3
(修改默认版本号“2.5”:使用$ python –V查看版本号,但并不使用查看结果“2.3.3”,而使用C:\cygwin\usr\include\python2.3中的“2.3”。我自己因为更新过所以版本是2.5的,我就没有修改,也是能正常使用的,如果cygwin版本高一些我装的是新版的2.573.2.3版,就可以使python版本更新为2.5,就不会有问题)。至于tinyviz还在研究中,大家可以探讨。