转自:http://ailexy.blog.hexun.com/6243603_d.html
摘要:本文是描述无线传感器网络研究平台TinyOS 2.0操作系统的安装与配置的文章。TinyOS是一个开源的嵌入式操作系统,主要针对传感器网络的特性设计。TinyOS 2.0是TinyOS的第二代版本,更改了原先的设计结构,改进了第一版存在的问题,例如组件之间联系过于紧密,不容易找到接口,不利于快速上手。因此TinyOS-2.0不向后兼容。本文根据官方资料和安装经历,详细的描述了windows平台下的开发环境配置过程。
关键词:TinyOS-2.0;无线传感器网络;Cygwin;
1.引言
TinyOS 2.0支持在两种操作系统windows与linux下开发,本文介绍的是windows下开发环境的配置主要参考资料见[1]。由于我们的测试平台micaZ是基于avr单片机开发的,所以我们的安装测试中将不包括基于MSP430单片机开发的硬件平台。基于MSP430单片机的硬件平台安装命令与micaZ平台非常相似,只是文件不同,读者也可以参考这篇文章。
由于TinyOS-2.0变更了设计结构无法与TinyOS-1.x兼容,本文是基于全新安装。如果希望从原来的TinyOS-1.x更新到TinyOS-2.0,可以参考[2]。文中所涉及的程序下载地址参考[3]。
本次安装测试的系统平台是windows xp,硬件无特殊要求只要能运行cygwin即可。保存图片后可以看到清晰的大图,或者下载pdf文档也可以。
2.下载与安装
在windows系统中安装TinyOS-2.0需要以下六个步骤:
第一步是安装java jdk 1.5;
第二步是安装cygwin;
第三步是安装avr单片机工具;
第四步是安装nesc和tinyos-tool;
第五步是安装tinyos-2.0;
第六步是配置环境变量;
2.1 安装java jdk 1.5
首先是从网上下载并安装java jdk 1.5版,见参考[3]。安装目录不限定在C盘根目录。
2.2 安装cygwin
windows下运行TinyOS-2.0需要基于cygwin这个软件平台,该软件的界面如图1所示。
推荐的cygwin版本是经过官方测试的,其下载地址可以参考[3]。
2.3 安装avr单片机工具
程序下载下载地址可以参考[3]。打开cygwin后默认的目录是“/home/用户名”,这个可以用“pwd”命令查看。在命令行敲入“rpm –qa”可以查看系统目前已经安装了的程序,从图1可以看到,这时候刚安装完cygwin,系统还没有任何软件。我们把avr单片机工具的rpm包文件拷贝到cygwin安装目录下的“/tmp”文件夹下,然后用“ls”命令查看。接下来正式开始安装程序,标准的rpm安装包用命令“rpm –ivh 文件名”安装。具体的参数含义可以用“rpm --help”命令查看。这里就不复述了。官方资料上说如果遇到安装错误,可以使用“rpm –ignoreos --force”这2各参数的意思大概是忽略错误强制安装。不过在我安装的时候没有碰到过这种情况。
安装rpm包的顺序如下,具体效果参见图1:
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 avr-insight-6.3-1.cygwin.i386.rpm
每安装一个程序都可以用“rpm –qa”命令查看是否安装成功,上面的步骤完成以后的效果见图2。
图1 AVR单片机编程工具安装
图2 AVR单片机编程工具安装成功
2.4 安装nesc和tinyos-tool
nesc是TinyOS的编程语言,必须安装nesc工具才能开发TinyOS程序。tinyos-tool则是TinyOS自带的一些工具。安装这两个软件与安装avr单片机工具有些不同,使用前面的命令会报错,见图3。我连接试了3种命令参数都不行,最后是使用
rpm --ignoreos –Uvh nesc-1.2.7b-1.cygwin.1386.rpm
rpm --ignoreos –Uvh tinyos-tools-1.2.3-1.cygwin.i386.rpm
命令才安装成功,经实际使用检验,没有出现问题。毕竟使用了—ignoreos参数,我也不太清楚到底忽略了什么错误,哪位读者如果知道可以留言共享。安装过程及效果见图3,图4。
图3 nesc的安装
图4和tinyos-tool的安装
2.5安装TinyOS-2.0主文件
这个安装包是TinyOS-2.0的代码文件。使用的命令
rpm --ignoreos –ivh tinyos-2.0.0beta2-3.cygwin.noarch.rpm
安装成功,效果如图5。至此TinyOS-2.0开发所需要的程序已经都安装上了。但这并不意味着可以编译运行程序了,还有最后一步,也是最关键的一步。
图5 TinyOS-2.0主文件的安装
2.6 配置环境变量
如果不配置成功将无法找到编译程序所需要的路径和makerules。通过在“/etc/profile.d”目录下建立一个tinyos.sh的文件就可以正常运行了,文件内容如图6所示,可以将下面的代码保存成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
图6 配置文件
这个文件是启动文件,在Cygwin的shell启动时运行,告诉Cygwin环境变量配置,使 tinyos程序编译时可
注意:tinyos.sh文件不是windows格式的。可以复制/etc目录下的另一个文件,将名字改为tinyos.sh然后打开并清空原来的代码,再将上面的代码拷贝过去点保存就可以了。
配置成功后下载Blink程序见图7。程序可以正常运行。
图7 下载Blink程序成功
参考文献
[1] http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html
[2] http://www.tinyos.net/tinyos-2.x/doc/html/upgrade-tinyos.html
[3] java jdk 1.5版本下载地址
http://sccnc.onlinedown.net/down/j2sdk-1_5_0-beta-windows-i586.exe
cygwin下载地址
http://www.tinyos.net/dist-1.2.0/tools/windows/cygwin-1.2a.tgz
AVR工具软件下载地址
http://www.tinyos.net/dist-2.0.0/tools/windows/avr-binutils-2.15tinyos-3.cygwin.i386.rpm
http://www.tinyos.net/dist-2.0.0/tools/windows/avr-gcc-3.4.3-1.cygwin.i386.rpm
http://www.tinyos.net/dist-2.0.0/tools/windows/avr-libc-1.2.3-1.cygwin.i386.rpm
http://www.tinyos.net/dist-2.0.0/tools/windows/avarice-2.4-1.cygwin.i386.rpm
http://www.tinyos.net/dist-1.2.0/tools/windows/avr-insight-6.3-1.cygwin.i386.rpm
TinyOS工具下载地址
http://csl.stanford.edu/~pal/tinyos/nesc-1.2.7b-1.cygwin.i386.rpm
http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-tools-1.2.2-1.cygwin.i386.rpm
TinyOS-2.0下载地址
http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-2.0.0beta2-3.cygwin.noarch.rpm
[4]pdf格式文档下载TinyOS20install10.pdf