在Ubuntu下安装tinyos详细教程以及运行TestSerial例子出现错误解决办法
2013-03-27 18:57
1076 查看
好久没来博客了,最近在搞无线传感器网络,编程必须用到tinyos,所以用了一周的时间把环境装好:包括虚拟机+ubuntu+tinoyos+解决问题+实现了两个节点传输数据并在PC端上显示。这篇文章先把环境的安装写一下,下一篇写如何实现了两个节点传输数据并在PC端上显示。虚拟机安装ubuntu网上一大堆,就不详细说了,直接从安装tinyos开始。
1. 配置 source 源,修改/etc/apt/sources.list 文件,添加一行:
$ deb http://hinrg.cs.jhu.edu/tinyos karmic main
2. 更新源目录的包的列表:
$ sudo apt‐get update
3. 安装 tinyos 最新版及其相关工具。在命令行下运行:
$sudo apt‐get install tinyos
很有可能会提示在几个版本中选择,我们选择其中一个版本然后重新执行
$sudo apt‐get install tinyos‐2.1.1
4. 进入/opt/tinyos2.1.1 目录下,修改 tinyos.sh 文件,将 CLASSPATH 一行修改为:
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/j
ava/tinyos.jar
5. 进入/home/yourname 目录,当前目录下.bashrc 文件中添加以下内容来进行开发环境的
配置:
#Sourcing the tinyos environment variable setup script
source /opt/tinyos‐2.1.1/tinyos.sh
6. 运行修改后的 bashrc 文件
$source .bashrc
Setting up for TinyOS 2.1.1
7. 运行 tos‐instal‐jni 命令
$sudo tos‐install‐jni
如果提示类似“[:31:=:unexpected operator”错误,那么编辑 /usr/bin/tos‐install‐jni,将
文件中的第一行“#!/bin/sh”改为“#!/bin/bash”后,重新运行命令。
8. 当以上配置完毕后,运行以下命令检查环境配置情况:
$tos‐check‐env
如果有提示任何异常信息,那么按照提示安装需要的包。
9. 然后进行测试程序的编译,转换到例子程序 Blink 目录下,运行以下命令编译程序:
$make telosb
如果出现以下类似的提示,
表示没有错误,
也就说明 tinyos 安装及其编译环境配置成功。
$make telosb
mkdir ‐p build/telosb
compiling BlinkAppC to a telosb binary
ncc ‐o build/telosb/main.exe ‐Os ‐O ‐mdisable‐hwmul ‐Wall ‐Wshadow
‐DDEF_TOS_AM_GROUP=0x7d ‐Wnesc‐all ‐target=telosb ‐fnesc‐cfile=build/telosb/app.c
‐board= BlinkAppC.nc ‐lm
compiled BlinkAppC to build/telosb/main.exe
2782 bytes in ROM
61 bytes in RAM
msp430‐objcopy ‐‐output‐target=ihex build/telosb/main.exe build/telosb/main.ihex
writing TOS imag
以上就完成了在ubuntu下tinyos的安装,但是你在运行/opt/tinyos‐2.1.1/apps/tests/下的TestSerial例子时,你会发现一些错误,大致是因为mig不能自动把.h文件自动转换成java文件,当然也就不能编译生成.class文件,谷歌了一下发现大部分人都碰到这个问题,主要是因为ncc和gcc版本问题,用指令ncc --version和gcc --version 来看nesc和gcc的版本问题,如果gcc版本时4.6,ncc版本是1.2.0,则就有个bug,mig就不能自动把.h文件自动转换成java文件。这时候你就必须升级nesC版本。具体方法参照如下网址:
http://hi.baidu.com/dream_go_on/item/b0b65c0f7d7114c42f4c6b61
按照以上网址的方法安装好以后,你可以再看一下ncc的版本已经升级为1.2.4,这时候运行一下TestSerial就不会出现问题了。
1. 配置 source 源,修改/etc/apt/sources.list 文件,添加一行:
$ deb http://hinrg.cs.jhu.edu/tinyos karmic main
2. 更新源目录的包的列表:
$ sudo apt‐get update
3. 安装 tinyos 最新版及其相关工具。在命令行下运行:
$sudo apt‐get install tinyos
很有可能会提示在几个版本中选择,我们选择其中一个版本然后重新执行
$sudo apt‐get install tinyos‐2.1.1
4. 进入/opt/tinyos2.1.1 目录下,修改 tinyos.sh 文件,将 CLASSPATH 一行修改为:
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/j
ava/tinyos.jar
5. 进入/home/yourname 目录,当前目录下.bashrc 文件中添加以下内容来进行开发环境的
配置:
#Sourcing the tinyos environment variable setup script
source /opt/tinyos‐2.1.1/tinyos.sh
6. 运行修改后的 bashrc 文件
$source .bashrc
Setting up for TinyOS 2.1.1
7. 运行 tos‐instal‐jni 命令
$sudo tos‐install‐jni
如果提示类似“[:31:=:unexpected operator”错误,那么编辑 /usr/bin/tos‐install‐jni,将
文件中的第一行“#!/bin/sh”改为“#!/bin/bash”后,重新运行命令。
8. 当以上配置完毕后,运行以下命令检查环境配置情况:
$tos‐check‐env
如果有提示任何异常信息,那么按照提示安装需要的包。
9. 然后进行测试程序的编译,转换到例子程序 Blink 目录下,运行以下命令编译程序:
$make telosb
如果出现以下类似的提示,
表示没有错误,
也就说明 tinyos 安装及其编译环境配置成功。
$make telosb
mkdir ‐p build/telosb
compiling BlinkAppC to a telosb binary
ncc ‐o build/telosb/main.exe ‐Os ‐O ‐mdisable‐hwmul ‐Wall ‐Wshadow
‐DDEF_TOS_AM_GROUP=0x7d ‐Wnesc‐all ‐target=telosb ‐fnesc‐cfile=build/telosb/app.c
‐board= BlinkAppC.nc ‐lm
compiled BlinkAppC to build/telosb/main.exe
2782 bytes in ROM
61 bytes in RAM
msp430‐objcopy ‐‐output‐target=ihex build/telosb/main.exe build/telosb/main.ihex
writing TOS imag
以上就完成了在ubuntu下tinyos的安装,但是你在运行/opt/tinyos‐2.1.1/apps/tests/下的TestSerial例子时,你会发现一些错误,大致是因为mig不能自动把.h文件自动转换成java文件,当然也就不能编译生成.class文件,谷歌了一下发现大部分人都碰到这个问题,主要是因为ncc和gcc版本问题,用指令ncc --version和gcc --version 来看nesc和gcc的版本问题,如果gcc版本时4.6,ncc版本是1.2.0,则就有个bug,mig就不能自动把.h文件自动转换成java文件。这时候你就必须升级nesC版本。具体方法参照如下网址:
http://hi.baidu.com/dream_go_on/item/b0b65c0f7d7114c42f4c6b61
按照以上网址的方法安装好以后,你可以再看一下ncc的版本已经升级为1.2.4,这时候运行一下TestSerial就不会出现问题了。
相关文章推荐
- Ubuntu下gradle运行卡住,出现Exception in thread "png-cruncher_xxx"错误的解决办法
- 安装.NET2.0后运行出现Failed to access IIS metabase错误解决办法.
- 安装sql server时出现 “以前进行的程序安装创建了挂起的文件操作。运行安装程序之前,必须重新启动计算机” 这种错误的解决办法
- 在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法
- Android开发异常篇:运行工程出现:Connection with adb was interrupted错误提示以及解决办法
- 在Ubuntu安装完成后更改默认的语言LANG,出现Cannot set LC_CTYPE to default locale: No such file or directory错误的解决办法
- 安装的qt 运行程序出现错误 解决办法
- ubuntu bochs 编译安装及可能出现的错误的解决办法
- ubuntu安装wine遇到的错误以及解决办法
- VMware Workstation初次安装以及运行Centos6.6所出现的故障和解决办法
- ubuntu安装软件中出现依赖性错误无法安装解决办法
- U盘安装ubuntu 10.10,出现错误:Could not find kernel image 的解决办法
- Ubuntu14.04安装后出现磁盘错误解决办法
- ubuntu 安装dict-xdict出现错误的解决办法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- OpenCV:关于Ubuntu下安装OpenCV.2.3.1时出现cmake错误的解决办法
- ubuntu 12.04 安装deb包出现内部错误解决办法
- python2.7,Ubuntu14.04环境下pip安装插件,cffi插件出现一下错误解决办法。
- Ubuntu下安装bochs出现错误的解决办法