TinyOS2.1 windows xp安装

来源:互联网 发布:南昌军工软件 编辑:程序博客网 时间:2024/06/05 10:48


官方的安装说明详见:

http://docs.tinyos.net/index.php/Installing_TinyOS_2.1

目前,TinyOS支持两个平台:Cygwin(Windows平台)和Linux平台。在Windows下安装需要额外的一步,就是安装Cygwin,这是一个类似Unix的环境

本文以Windows环境下的安装TinyOS2.1为例,使用到的文件有:

Cygwin-files;

jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

avr-binutils-2.17tinyos-3.cygwin.i386.rpm

avr-gcc-4.1.2-1.cygwin.i386.rpm   

avr-libc-1.4.7-1.cygwin.i386.rpm

avarice-2.4-1.cygwin.i386.rpm

avr-insight-6.3-1.cygwin.i386.rpm

avrdude-tinyos-5.6cvs-1.cygwin.i386.rpm

msp430tools-base-0.1-20050607.cygwin.i386.rpm

msp430tools-python-tools-1.0-1.cygwin.noarch.rpm

msp430tools-binutils-2.16-20050607.cygwin.i386.rpm

msp430tools-gcc-3.2.3-20050607.cygwin.i386.rpm

msp430tools-libc-20080808-1.cygwin.i386.rpm

nesc-1.3.0-1.cygwin.i386.rpm

tinyos-deputy-1.1-1.cygwin.i386.rpm

tinyos-tools-1.3.0-1.cygwin.i386.rpm

tinyos-2.1.0-2.cygwin.noarch.rpm

graphviz-1.10.exe.

1.JAVE JDK 安装

首先,我们安装JAVE 开发工具JAVE JDK 1.6

官方下载地址:http://java.sun.com/javase/downloads/.

安装过程只需下一步……下一步便可……,默认安装路径是C:\Program Files\Java

然后,我们需要设置电脑的环境变量,需要新建两个环境变量,以便使用JDK

具体过程如下:

右击我的电脑——〉属性——〉高级——〉环境变量——〉

系统变量(S)栏——〉新建(W)——〉新建系统变量对话框

变量名(N)JAVA_HOME
变量值(V)JDK安装的路径,其默认的路径为:

C:\ProgramFiles\Java\jdk1.6.0_10

变量名(N)CLASSPATH
变量值(V)
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在系统变量(S)栏选中变量为Path的选项,点编辑
在变量值(V)的末尾添加:;%JAVA_HOME%\bin;;%JAVA_HOME%\jre\bin;

用户变量里最好也同样再设置一个JAVA_HOME
在用户变量的PATH中添加:;%JAVA_HOME%\bin:$PATH;%JAVA_HOME%\jre\bin:$PATH;

这样,我们的环境变量已经设置完毕了。我们可以编个JAVA小程序测试简单的测试一下:打开记事本,输入下面这个小程序,另存为HelloWorld.java
public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello,World!"); 
    }
}
运行cmd,到HelloWorld.java所在目录,执行
javac HelloWorld.java
java HelloWorld
如果能正确输出Hello, World! 说明环境变量设置成功。

2.Cygwin 软件平台安装

我们需要安装Cygwin这个软件模仿Linux平台,运行TinyOS-2.X。

下载地址1:www.cygwin.com.

下载地址2:http://cone.informatik.uni-freiburg.de/people/aslam/cygwin-files.zip

安装过程说明:只装cygwin-files.zip90M

安装时,最好先将安装包下载到本地,然后选择Installfrom Local Directory安装

紧接着需要设置安装目录,默认是C:\cygwin

然后是选择下载的本地安装包源文件的文件路径

安装包策略选择:“Keep”、“Prev”、“Curr”、“Exp”等等选项

Keep, 意思就是说保持目前已经安装的版本不动,不替换你目前的版本。升级时比较方便。

Prev,意思是说安装上一个版本。

Curr,意思就是说把最新的版本下载下来安装,第一次安装时默认选项

"View"按钮是用来选择显示方式的

在选择安装包时候,一般默认,点下一步即可。

剩下的,和一般软件一样,没什么好说的了。

最后我们可以通过桌面上添加Cygwin的快捷方式或者运行安装目录下的cwgwin.bat文件,来运行该软件平台:

 

Cygwin启动界面如下图:

 

下面我们可以先来尝试一些简单的Linux命令:

help: 帮助命令。例如 ls--help 。显示ls命令使用说明。

pwd:显示所在路径。

rpm –qa :查看已经安装的程序,刚安装的Cygwin是没有安装任何系统的。

rpm –ivh 文件名:rpm文件安装。

rpm –ignoreos –force或者rpm -ivh --force --ignoreos:忽略错误,安装rpm文件

--ignoreos选项是用于忽略cygwin的版本号

cd:切换目录比如:cd /tmp 进入tmp文件。

cp:cp -R BlinkBlinkSingle

ls:显示文件。

whoami:显示登陆Windows帐号

uname –a:显示版本信息

echo $PATH:显示执行程式的搜索路径

ps ax:显示process list ,显示目前有哪些process 执行

ctrl-Dexitlogout:结束bash 视窗

motelist 查询当前设备

3.本地编译器的安装

当你给低功耗微控制器编译代码时,你需要可以产生适当的代码的编译器。如果你使用mica系列无线传感器节点 ,你需要的AVR工具;如果你使用的是telos系列节点,你需要的MSP430工具。libc可能会包warning,不管

 

先以AVR为例,把下面所有文件放在同一个文件夹里。

avr-binutils-2.17tinyos-3.cygwin.i386.rpm

avr-gcc-4.1.2-1.cygwin.i386.rpm   

avr-libc-1.4.7-1.cygwin.i386.rpm

avarice-2.4-1.cygwin.i386.rpm

avr-insight-6.3-1.cygwin.i386.rpm

avrdude-tinyos-5.6cvs-1.cygwin.i386.rpm

 

用cd命令进入该目录,输入:rpm -ivh --ignoreos rpmname 安装某个rpm。

如果碰到missing /bin/sh的错误信息,则

rpm –ivh --ignoreos --force --nodeps rpmname

最简单的方法是

rpm –ivh --ignoreos --force --nodeps  *.rpm

MSP430工具的安装也是一样的。

其rpm包如下:

msp430tools-base-0.1-20050607.cygwin.i386.rpm

msp430tools-python-tools-1.0-1.cygwin.noarch.rpm

msp430tools-binutils-2.16-20050607.cygwin.i386.rpm

msp430tools-gcc-3.2.3-20050607.cygwin.i386.rpm

msp430tools-libc-20080808-1.cygwin.i386.rpm

 

将rpm下载后全部放到一个新建的MSP430文件夹,移到到 “/tmp/msp430”文件夹下,运行:

$ cd  /tmp/msp430

rpm -ivh --ignoreos –nodeps *.rpm

安装成功。(若提示安装不了,可以先安装第四步的TinyOS工具包再回头安装这里)。

 

4.TinyOS 工具包安装

下载rpm包:

http://www.tinyos.net/dist-2.1.0/tinyos/windows/nesc-1.3.0-1.cygwin.i386.rpm

http://www.tinyos.net/dist-2.1.0/tinyos/windows/tinyos-deputy-1.1-1.cygwin.i386.rpm

http://www.tinyos.net/dist-2.1.0/tinyos/windows/tinyos-tools-1.3.0-1.cygwin.i386.rpm

 

将rpm下载后全部放到一个新建的tinyos_tools文件夹,移到到 “/tmp/tinyos_tools”文件夹下,运行:

$ cd  /tmp/tinyos_tools

rpm -ivh --ignoreos *.rpm

安装成功。

5.TinyOS2.X 安装 (x随着最新的进度改变而改变)

下载rpm包:

http://www.tinyos.net/dist-2.1.0/tinyos/windows/tinyos-2.1.0-2.cygwin.noarch.rpm

最新的安装包见以下地址

http://tinyos.stanford.edu/tinyos-rpms/

将rpm下载后放到一个新建的tinyos2.0文件夹,移到到 “/tmp/tinyos2.0”文件夹下,运行:

$ cd  /tmp/tinyos2.0

rpm -ivh --ignoreos *.rpm

安装成功。

6.设置TinyOS2.X 环境变量

Environment Variable

Windows

Linux

TOSROOT

/opt/tinyos-2.x

same as in Cygwin

 

TOSDIR

$TOSROOT/tos

same as in Cygwin

 

CLASSPATH

C:\cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar;.

$TOSROOT/support/sdk/java/tinyos.jar:.

 

MAKERULES

$TOSROOT/support/make/Makerules

same as in Cygwin

 

PATH

/opt/msp430/bin:/opt/jflashmm:$PATH

same as in Cygwin

 

注:只有在使用msp430平台时才有必要设置PATH变量

环境变量设置

TOSROOT:/opt/tinyos-2.x

TOSDIR:/opt/tinyos-2.x/tos

CLASSPATH:C: \cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar

MAKERULES:/opt/tinyos-2.x/support/make/Makerules

 

 

 

 

用UltraEdit创建C:\cygwin\etc\profile.d\tinyos.sh,输入以下内容:(使用UNIX换行符-LF保存,这一步很关键,字符是有区别的)

(配置文件已经写好了)

# script for profile.d forbash shells, adjusted for each users

# installation bysubstituting /opt for the actual tinyos tree

# installation point.

exportTOSROOT="/opt/tinyos-2.x"

export TOSDIR="$TOSROOT/tos"

exportCLASSPATH="C:\cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar"

exportCLASSPATH="$CLASSPATH;."

exportMAKERULES="$TOSROOT/support/make/Makerules"

exportPATH="/opt/msp430/bin:$PATH"

export PATH="/cygdrive/c/Program Files/Java/jdk1.6.0_10/bin:$PATH"

#下面这段貌似可有可无,先不用试试

# Extend path for java

type java >/dev/null2>/dev/null || PATH=`/usr/local/bin/locate-jre --java`:$PATH

type javac >/dev/null2>/dev/null || PATH=`/usr/local/bin/locate-jre --javac`:$PATH

echo $PATH | grep -q/usr/local/bin || PATH=/usr/local/bin:$PATH

 

执行命令:  tos-install-jni

如果出现一下错误信息:

Installing 32-bit Java JNI code in/cygdrive/c/Program Files/Java/jdk1.6.0_10/jr

e/bin ...

install: cannot stat `/usr/lib/tinyos/*-32.dll': Nosuch file or directory

我们需要将以下目录中的toscomm.dll,重命名为:toscomm-32.dll

C:\cygwin\lib\tinyos

C:\ProgramFiles\Java\jdk1.6.0_10\jre\bin

toscomm.dll ——toscomm-32.dll

重新tos-install-jni命令。

7.安装 Graphviz (版本1.1)

下载地址:http://webs.cs.berkeley.edu/tos/dist-1.1.0/tools/windows/graphviz-1.10.exe,

默认安装到C:\ProgramFiles\ATT目录下。一直点NEXT就可以完成安装。

7.测试安装

1.环境测试

   运行cygwin,输入命令: 

  $ tos-check-env

  如果上述安装成功,可能会出现WARNING:java 1.4 or java1.5,tos-check-envcompleted without error等,这是JAVA版本的问题,不必理会。

   $ whichjava

出现:/cygdrive/c/ProgramFiles/Java/jdk1.5.0_17/bin/java

如果出现/cygdrive/c/WINDOWS/system32/java

则尝试输入:export PATH="/cygdrive/c/ProgramFiles/Java/jdk1.5.0_17/bin:$PATH"

2、检查己经让TinyOS buile system环境可运行的.

 运行shell,输入如下命令:

 $ printenv MAKERULES

 将看到:/opt/tinyos-2.x/support/make/Makerules

 这是正确的

3.运行Blink测试程序:

1.进入目录:\cygwin\opt\tinyos-2.x\apps\Blink

2.编写文件:C:\cygwin\opt\tinyos-2.x\apps\Blink\Blink.py

#! /usr/bin/python

from TOSSIM import *

import sys

t=Tossim([]);

t.addChannel("BlinkC",sys.stdout)

t.getNode(1).bootAtTime(10000);

for i in range (0,100):

 t.runNextEvent()

执行命令:

$ make micaz sim

$ python Blink.py 

显示模拟结果。

如果看到如下错误提示:

"The procedure entry point basename could notbe located in the dynamic link library cygwin1.dll"

则需要重新检查、安装nesC软件包。

 

3.运行make命令:(可以是makemica2,make telosb , or make micaz sim…)

连接上硬件平台后的调试:

$  cd  /opt/tinyos-2.x/apps/Blink

$  make clean

$  make micaz

可以看到如下的输出:

$ make micaz reinstall.3mib510./dev/ttyS5

make micaz reinstall.<addr> mib510,serialport

<addr>是你需要设置该硬件节点在整个网络中的ID序号,

Mib510是辅助编程下载工具

Serialport串口的端口号,如果在WINDOWS下你的串口号是COMn,你必须使用/dev/ttySn-1作为serialport

这里也许会出现一些问题,若是:

BlinkAppC.nc:46:syntaxerror before ‘new’

Make:***[exe0] Error 1

 则需要检查你的nesC编译器的版本,可能过时了,或者是你工具包没有安装好的问题。

ncc --version进行查看

接下来

$ which ncc

$ /usr/bin/ncc --version

$ nescc --version

$ which nescc

$ /usr/bin/nescc –version

若出现这样的错误:make: *** [sim-exe] Error 1,则需修改Python.h的默认路径:/usr/include

打开C:\cygwin\opt\tinyos-2.x\support\make\sim.extra修正如下

CFLAGS+=-l/path (添加这一行,路径改为\usr\include\python2.5,)

WFLAGS = -Wno-nesc-data-race

PYTHON_VERSION=2.5($python –V 查看版本后再修改)

 

注意:TOSSIM 只支持micaz这个平台。所以如果输入make telosb sim,则会出现错误提示:make: *** [sim-exe]Error 2

 

 

4.运行java命令:

下载:C:\cygwin\opt\tinyos-2.x\apps\tests\TestSerial

执行:java TestSerial

如果没有设置端口号,则会出现一下提示:

sf@localhost:9002 died - exiting(java.net.ConnectException: Connection refused:

 connect)

执行以下命令:

java net.tinyos.sf.SerialForwarder -commserial@<serial port>:<mote>

e.g.:java net.tinyos.sf.SerialForwarder -comm serial@COM1:telosb

     javanet.tinyos.sf.SerialForwarder -comm serial@/dev/ttyUSB0:mica2

然后再新的串口运行。


 

原创粉丝点击