TinyOS02:TinyOS2.1的安装(Windows平台)

来源:互联网 发布:打码源码 编辑:程序博客网 时间:2024/06/06 11:02

安装TinyOS2.1的详细步骤参照网址:http://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1#Manual_installation_on_your_host_OS_with_RPMs

一、 java环境搭建
TinyOS系统的一些工具命令都需要java支持的,因此要搭建java环境
JDK1.6:官网下载,并默认路径保存:C:\Program Files\Java\jdk1.6.0_45
这里写图片描述

注意:
1、这里没有用到JAVA_HONE简化的原因是有可能用了这个之后检查的时候,用java和java -version有用,但是javac没用。
配好后写一个程序测试。
2、“系统变量”会覆盖掉“用户变量”的冲突部分。

二、 安装cygwin平台
Cygwin简单介绍:
Cygwin是在Windows操作系统下创建一个类似Unix的环境,因为TinyOS操作系统是运行在Unix操作系统上面的。
Cygwin由两个组件组成:
A) Unix API库(模拟Unix操作系统提供的许多特性):Windows DDL
B) Bash shell的改写版本和许多Unix实用程序(提供Unix命令行界面):基于Cygwin DLL的应用程序
(shell:Unix的命令解释器,用于读入和解释Unix命令的程序;Bash是shell的一种)
具体安装步骤详解:
1、下载Cygwin本地安装包: cygwin-files.zip
http://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1#Manual_installation_on_your_host_OS_with_RPMs

2、解压点击setup.exe,选择Install from Local Directory选项:
这里写图片描述

3、设置Cygwin的安装目录(建议都选默认方式,以下都建议默认)C:\cygwin(就是要把Cygwin安装到哪里)
这里写图片描述

4、选择本地安装包源文件的本地存储路径(把一开始下载好准备安装的Cygwin的目录)
这里写图片描述
5、选择安装策略:All + default即可
这里写图片描述
6、开始安装
这里写图片描述
7、安装完成,添加桌面快捷方式
这里写图片描述
Cygwin目录简要介绍:
这里写图片描述
①、bin:引导启动所需的命令或普通用户的标准命令(即这个文件夹中包含了很多Linux的常用命令);
②、sbin:类似bin目录、但是不是给普通影虎使用的,如果有必要且允许时可以使用;
③、dev:与设备(包括外设)相关的文件;
④、etc:特定机器的各种配置文件;
⑤、lib:根文件系统上的程序所需的共享库;
⑥、home:每个用户都有自己的用户目录,该目录存放用户目录的主目录;
⑦、opt:通常用来安装较大型的且固定的应用程序
⑧、tmp:用来存放不同程序执行时长生的临时文件
⑨、user:用户的应用程序和文件
⑩、var:包含系统运行时要改变的文件
3. 安装平台交叉编译器
平台交叉编译器:将C代码交叉编译成硬件终端可运行的二进制文件。可以这样理解,平台交叉编译器就是集成了rpm命令的工具包(var工具包,MSP430工具包),这些工具包中的rpm命令能够将TinyOS应用程序编译成特定传感器节点(,例如mica系列、TelOS系列)可执行的而二进制文件。

相关术语解释:
①、单片机:就是一种微型计算机(把CPU、存储器、计数器、IO接口这些都集成到已开集成电路芯片上的微型计算机)
②、AVR:AVR单片机(就是一种比较牛的单片机)
③、MSP430:混合信号处理单片机
④、rpm:RPM软件管理器(R表示red hat公司):使用rpm命令可以用联网安装、卸载、升级和管理软件
1、安装avr工具包
①、在C:\cygwin\目录下创建avr文件夹,到网站下载如下rpm文件:
这里写图片描述
②、用cd命令切换到avr目录,并输入如下命令下载avr工具包中的rpm命令:rpm -ivh –ignores –force –nodeps *.rpm
这里写图片描述
2、安装MSP430工具包:(大致步骤跟安装avr工具包类似)
①、下载msp430工具包到msp文件
这里写图片描述
②、目录切换输入如下rpm命令安装:pm -ivh –ignores –force –nodeps *.rpm
这里写图片描述
至此,平台交叉编译器(通过rpm命令在线安装avr/msp单片机工具包)安装完成
4. 安装TinyOS源码与工具包
TinyOS及WSNs程序都是采用NesC语言编写的,需要安装TinyOS工具包(包括nesC语言编译器和一些辅助工具)将NesC程序编译成C语言,之后将C代码交给之前安装好的平台编译器。
1、1、TinyOS工具包的安装
①、下载到C:\cygwin\tool目录:
这里写图片描述
②、目录切换,输入命令安装:rpm -ivh *.rpm
这里写图片描述
2、TinyOS系统源码的安装(类似)
①、下载到C:\cygwin\tinyos
这里写图片描述
②、输入命令:rpm -ivh –ignores rpmname.rpm安装
这里写图片描述
至此,TinyOS所需的rpm工具包全部下载完成,采用rpm -qa命令检查已安装的所有软件包:(总共15个)
这里写图片描述
5. 环境变量的配置
1、TinyOS环境变量的配置
这里写图片描述
注明:
$:Linux中绝对位置的引用
Linux中/分割目录,Windows中\分割目录
2、使用UltraEdit文本编辑工具创建C:\cygwin\etc\profile.d\tinyos.sh文件,shell在启动时会读取该配置文件,其内容为:

# script for profile.d for bash shells,adjusted for each users # installation by substituting /opt for the actual tinyos tree # installation point export TOSROOT="/opt/tinyos-2.x" export TOSDIR="$TOSROOT/tos" export CLASSPATH="cygpath -w $TOSROOT/support/sdk/java/tinyos.jar"export CLASSPATH="$CLASSPATH;." export MAKERULES="$TOSROOT/support/make/Makerules" export PATH="/opt/msp430/bin:$PATH" # Extend path for java type java >/dev/null 2>/dev/null || PATH='/usr/local/bin/locate-jre --java':$PATH  type javac >/dev/null 2>/dev/null || PATH='/usr/local/bin/locate-jre --javac':$PATH  echo $PATH | grep -q /usr/local/bin || PATH=/usr/local/bin:$PATH

这一步很容易出错,要注意以下几点:
①:下载UltraEdit编辑工具
②:把上面的内容复制到Tinyos.sh文件以后,记得在UltraEdit工具中转换一下(文件—转换—DOS转UNIX)
(这里的解释是:换行符在Windows操作系统和Unix操作系统中存在差异,Unix要读取的文件必须以Unix格式保存,我不是很懂)
3、执行tos-install-jni命令,如果tinyos.sh文件加载成功,显示如下提示:
这里写图片描述
如果提示如下错误:
这里写图片描述
则这样修改:把c:\gygwin\lib\tinyos\目录下和C:\Program Files\Java\jdk1.6.0_45\jre\bin目录下的toscomm.dll文件改成toscomm-32.dll即可。

知识点补充:
JNI:Java native interface,即Java本地接口,是JAVA平台的一部分,允许Java代码和其他语言写的代码(尤其是C、C++)进行交互,常用语Java程序中使用其他语言编辑的类库或者程序。因此配置tinyos.sh文件的目的也是为了能让jni正常工作。

至此TinyOS的安装工作全部完成,接下来可以安装一个Graphviz图形工具,还有测试Tinyos的安装情况
6. TinyOS安装后的测试
TinyOS安装成功后其目录文件存放在C:\cygwin\opt\tinyos-2.x,TinyOS的目录结构为:
①、tos:存放TinyOS操作系统的源代码,包括芯片、平台、传感版以及组件库等;
②、apps:TinyOS自带的一些例子程序;
③、doc:TinyOS系统的相关文档,例如根据某个应用程序生成的图形化说明文档就保存在这里;
④、support:包含NesC语言的编译系统和一些TinyOS工具
1、检查TinyOS是否搭建成功,在Cygwin输入命令:tos-check-env
这里写图片描述
有这样的警告可以忽略,表示TinyOS搭建成功
2、检查Cygwin使用的Java版本:
这里写图片描述
如果出现这个,则再输入命令:

export PATH=”/cygdrive/c/Program Files/Java/jdk1.6.0_45/bin:$PATH

会出现正常结果:
这里写图片描述
3、检查nesC的编译环境:
这里写图片描述
4、仿真测试
(孙老师笔记:一个待模拟运行的NesC程序必须有的两个文件,以Blink文件为例:Blink.py + makefile文件
a、Python可以值得脚本文件
b、makefile:内容只有两行,用于指定make的对象和所有库的路径

COMPONENT=BlinkAppCinclude $(MAKERELUES)
Blink.py解析 :#! /usr/bin/python      // include python的库from TOSSIM import *  // import  TOSSIM的库import sys      // import  sys的库,因为下面用到sys.stdoutt=Tossim([]);       //创建一个Tossim对象t.addChannel("BlinkC",sys.stdout) //创建一个channel, 将组件BlinkC和显示屏 关联t.getNode(1).bootAtTime(10000); // 设置Node1的Boot时刻for i in range (0,100): t.runNextEvent()   //执行TOSSIM事件队列中的事件(包括:nesC中的task,硬件中断,high-level系统事件等。)a.用Python执行:模拟环境的设置和 模拟运行Blink。 b.可以在Python界面中交互式执行,也可以写个脚本一次性执行。(参http://docs.tinyos.net/index.php/TOSSIM, 已打印有标注)

通过运行Blink程序来检查TinyOS系统的整体运行情况。Blink程序分别以0.25s/0.5s/1s的定时周期点亮或关闭节点上LED发光二极管。测试步骤如下:
①、进入Blink目录:
这里写图片描述
②、仿真编译
输入命令make micaz sim,出现如下结果表示编译成功:
这里写图片描述
③、输入如下命令运行:
这里写图片描述

至此,恭喜你 TinyOS安装成功。哇哈哈哈哈哈哈哈哈哈哈哈哈

三、安装Graphviz图形工具
TinyOS中包括nesdoc工具,该工具可以自动生成可视化的组件关系图表,便于开发人员快速查看源代码,但是该工具依赖于Graphviz软件。
1、下载Graphviz软件
这里写图片描述
2、安装:默认 next即可
采用nesdoc工具生成Blink应用程序的可是组件结构图
这里写图片描述
3、切换到Blink程序下,输入命令make micaz nesdoc
这里写图片描述

1 0
原创粉丝点击