在Windows下安装TinyOS 2.x可以按照http://docs.tinyos.net/index.php/Installing_Tiny OS2.1.1#Manual installation on your host OS with RPMs的安装步骤进行。这里需要注意的是,Cygwin不支持Windows Vista操作系统。安装过程共需六个步骤。
1.安装Java 1.6 JDK
在http://java.sun.com上下载Java 1.6 JDK。需要注意的是,若安装Java 1.5或者Java1.4,进行tos-check-env测试环境会显示无错误安装成功;安装Java 1.6版本在进行tos-check-env时会有一个有关Java的警告,但这并不影响系统环境测试,这里我们安装Java1.6版本。安装完成之后,需要设置计算机的环境变量,新建两个环境变量,以便使用JDK。右击我的电脑→属性→高级→环境变量→系统变量栏→新建→新建系统变量,弹出新建系统变量对话框。
变量名:CLASSPATH
变量值:.;C:\Program Files\Java\jdk1.6.0_24\bin;C:\ProgramFiles\Java\jdk1.6.0_24\lib\tools.jar
作用:新建名为CLASSPATH的环境变量是为了提供应用程序在运行期间寻找所需资源的路径,比如类、文件等。值得注意的是,最前面应加上“.;”,意为首先在当前目录中查找。
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.6.0_24
作用:新建名为JAVA_HOME的环境变量指向JDK的安装路径,在该路径下可以找到bin、lib等目录。值得注意的是,JAVA_HOME必须全部大写,中间应有下画线隔开。
编辑变量名:PATH
添加变量值:C:\ProgramFiles\Java\jdk1.6.0_24\bin;C:\ProgramFiles\Java\jdk1.6.0_24\jre\bin 到原有PATH变量值的前面,中间用分号隔开。
作用:设置该环境变量的目的是为了指向JDK的bin目录,因为在bin目录里存放的是各种编译执行命令。值得注意的是,系统本身就有多种PATH环境变量,只需把上述变量值直接放到原变量值的前面即可,中间用“;”隔开。
此时,环境变量已经设置完毕。
现在应检测Java环境是否配置成功。可以编个Java小程序简单地测试一下。打开记事本,输入程序代码为
将此程序另存为HelloWorld.java文件,需要注意的是,文件的扩展名应当是“java”,表示这是一个Java程序。然后单击“开始”菜单,选择“运行”命令,在之后弹出的“运行”对话框中输入“cmd”,在之后弹出的DOS窗口中,切换到文件HelloWorld.java所在目录,输入命令
如果能正确输出“Hello,World!”,则说明环境变量设置成功。
2.安装Cygwin
在Windows下运行TinyOS是基于Cygwin这个软件平台,Cygwin提供了一个在Windows下的shell环境和开发TinyOS时用到的大多数UNIX工具,比如perl和shell脚本。首先从http://docs.tinyos.net/index.php/Installing_TinyOS_2.1.1上下载cygwin-files.zip到C盘的cygwin-files目录下,解压后双击setup.exe开始安装。setup.exe文件还可以用于软件的重新安装,能够添加、修改或升级Cygwin配置。具体的安装过程说明如下。
1)选择安装方式:当出现"Choose A download source"界面时,选择"Install from Local Directory"。也可选择从网络安装,但网络安装速度较慢。这里我们选择从本地安装。
2)设置安装目录:当出现"Select Root Install Director"界面时,Root Directory选择“c:\cygwin”,这是默认的安装目录。也可以对其进行更改,安装在自己所需要的目录下。Install for选择“All Users”;Default Text file type选择“Unix\Binary”。
3)选择本地安装包源文件的本地存储路径:当出现"Select local Package directory"界面时,选择"c:\cygwin-files"。这里应注意,这一步的依据为压缩文件cygwin-file.zip存在的位置。
4)选择安装策略:安装策略有“Keep”、“Prev”、“Curr”、“Exp”等选项。
●Keep:指保持目前已经安装的版本不动,不替换计算机目前的版本,升级时比较方便。
●Prev:指安装上一个版本。
●Curr:指安装最新版本,这是默认选项。
●Exp:指安装试验版。
安装方式共有以下四类。
●Default:表示是默认选择,可单击包左边的+号展开,看看默认安装究竟是些什么内容。
●Install:表示要下载或安装该包的全部内容。
●Reinstall:表示重新下载或安装该包的内容。
●Uninstall:卸载。
这里我们选择Install,安装该软件的全部内容。然后进行“下一步”直至完成安装。
最后,安装好Cygwin后如图2-1所示。
图2-1 Cygwin安装完成图
3.安装平台交叉编译器
平台交叉编译器是用于将C代码交叉编译成硬件可以运行的二进制文件。在编译TinyOS程序时,会产生对特定微控制器芯片的C代码和汇编代码,这就需要有相应的平台的编译器支持。如编译Mica系列节点上的应用程序,需要安装Atmega128单片机的AVR工具包,Telos系列则需要安装MSP430工具包。
从http://docs.tinyos.net/index.php/Installing_TinyOS_2.1.1上下载Atmel AVR工具,MSP430。打开Cygwin后默认的目录是“\home\用户名”,这个可以用“pwd”命令查看。在命令行输入“rpm-qa”可以查看系统目前已经安装了的程序。刚安装完Cygwin时,系统还没有任何软件。可以把下载好的AVR工具和MSP430的RPM包文件复制到“home\用户名”的文件夹下,这样可以直接安装,不用再考虑路径。由于这些文件名都挺长,输入起来较麻烦。可以输入前几个字母,按<table>键,系统会自动载入名字。如安装第一个文件avr-binutils-2.17tinyos-3.cygwin.i386.rpm,只需输入“rpm-ivh avr-b”,然后按<table>键,这个文件名就会自动载入。
1)安装AVR工具包:
2)安装PXA27x工具包:
3)安装MSP430工具包:
在安装的过程中,标准的“rpm”安装包用命令“rpm-ivh文件名”安装。如下是一些错误处理。
●“the rpm was intended for a cygwin_nt-5.1 operating system”说明当前的Cygwin版本与TinyOS系统的安装包不兼容,可能需要升级Cygwin。可使用命令“rpm-ivh--ignoreos”安装;
●“you have a newer version already installed”,则可使用命令“rpm-Uvh-force”安装;(www.xing528.com)
●“rpm error that indicates that you are missing/bin/sh”,可使用命令“rpm-Uvh-force-
nodeps”安装。
这里值得注意的是,由于每个安装者所使用的系统可能不同,会出现不同的问题,在安装的过程中可以参考官网www.tinyos.net上的安装方法。
4.安装TinyOS源码与工具包
TinyOS工具包包括nesC编译器和一系列开发TinyOS源代码工具。TinyOS操作系统的内核和应用程序都是由nesC语言编写的,所以必须安装nesC工具才能将TinyOS应用程序编译成可交给平台交叉编译器的C代码。从http://docs.tinyos.net/index.php/Installing_Tiny OS_2.1.1上下载rpm包,具体安装方法与前面相同。
5.安装TinyOS 2.1源代码包
TinyOS 2.1源代码包的作用是编译和下载TinyOS程序。从http://docs.tinyos.net/index.php/Installing_TinyOS_2.1.1上下载tinyos-2.1.1-3.cygwin.noarch.rpm,安装方法与前面相同,TinyOS 2.x系统的源代码默认安装到C:\cygwin\opt\tinyos-2.x路径。
然后设置环境变量。TinyOS在Windows环境变量的设置应对照如下信息。
(续)
这里,我们使用UltraEdit在C:\cygwin\etc\profile.d目录下创建文件tinyos.sh,输入以下内容,这里特别要注意的地方是:必须使用UNIX换行符-LF保存此文件。
然后在Cygwin中执行命令“tos-install-jni”,若出现错误:
说明缺少*-32.dll文件,则需要将目录“C:\cygwin\lib\tinyos”和目录“C:\Program Files\Java\jdk1.6.0_24\jre\bin”以下目录中的toscomm.dll,重命名为“toscomm-32.dll”。然后再重新执行命令“tos-install-jni”,若出现:
说明文件加载成功。
最后安装好各rpm包后用命令“rpm-qa”查看如图2-2所示Cygwin系统已安装的软件。
6.安装Graphviz
TinyOS环境包含nesdoc工具,该工具可以自动生成可视化的组件关系图表。Graphviz是nesdoc用来画图的一个开源工具。从http://docs.tinyos.net/index.php/Installing_TinyOS_2.1.1下载graphviz-1.10.exe文件,双击运行直接安装在Windows中就可以了。安装完后退出Cygwin再重新运行。
到现在TinyOS 2.x在Windows下的安装已经完毕。下面我们进行环境测试。环境测试可分为以下几步进行:
7.环境测试
运行Cygwin,在命令行输入命令:
图2-2 查看Cygwin已安装的软件
1)$tos-check-env
该命令能够检测出TinyOS环境中绝大多数的配置情况。前面在安装过程的第一步中我们已经提到,若安装的是Java 1.5或者Java 1.4,则进行tos-check-env时如果出现“tos-check-env completed without error”则说明安装成功。现在我们安装的是Java 1.6版本,进行tos-check-env时出现以上内容,这只是Java的版本问题所引起的,并不影响TinyOS系统的运行及nesC语言的开发,所以说明安装成功。
2)测试Java版本,在命令行输入:$which java,若出现:
则在前面所建的tinyos.sh文件中加入:
这会导入Java路径到PATH变量。然后再次执行“$which java”,若出现:
则说明Java环境可用。
3)检查TinyOS编译系统环境是否可运行。
运行Cygwin,在命令行输入命令“$printenv MAKERULES”,如果可以看到:
则说明TinyOS编译系统环境是可运行的。
4)运行make命令(可以是make mica2,make telosb,or make micaz sim…)。
首先进入opt/tinyos-2.x/apps/Blink文件夹,然后在命令行输入命令:
则可以看到如下的输出:
这是因为在安装好TinyOS后,在文件夹opt/tinyos-2.x\apps\Blink下有一个Blink应用程序BlinkC.nc,make telosb命令是把这个Blink应用程序编译成可在TelosB平台上运行的代码。所以make telosb命令就把文件夹opt\tinyos-2.x\apps\Blink里面的Blink应用程序编译成了可在TelosB平台下运行的代码。当编译通过后,就可以直接把程序代码下载到节点上,我们将会在后面介绍。
至此,Cygwin和TinyOS-2.x环境配置完毕。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。