(本教程使用的是VirtualBOX +ubuntu14.04+tinyos2.1.2)

note:看了非常多的tinyos的安装教程。区别不是非常大,无非就是安装编译器配置环境等。尽管简单,但还是有非常多问题在里面。

建议大家使用虚拟机安装,由于虚拟机执行在主机上。全然独立。虚拟机里面的全部操作不会影响主机,即使虚拟崩溃了。

windows相对对ubuntu来说,windows的硬件驱动由于是商业化的所以做的比較完好,各种优化策略也比較好。虚拟机推荐大家使用VirtualBOX

VirtualBOX 短小精悍,功能比較强大。安装文件比較小,仅仅有几十MB,系统资源占用比較少。

当然你也能够使用vmware。

安装虚拟机和ubuntu相信大家已经非常熟悉了,假设还没有安装请看这个教程:

好。以下我们正式開始搭建tinyos的开发环境!

步骤1:

假设你曾经没有安装过tinyos能够跳过这个步骤。假设你曾经安装的是老的版本号的tinyos(像2.1.1版本号)那么你必须卸载掉有关tinyos的文件以及GCC-430的编译器以及工具等。 卸载流程例如以下:打开终端(ctrl+alt+t)输入下面命令:卸载tinyos老的版本号:

sudo apt-get remove tinyos-2.1.1

卸载gcc-msp430编译器:

sudo apt-get autoremove --purge msp430*

通过这两步就把你曾经老版本号的tinyos卸载掉了

步骤2:

在ubuntu的package list file加入源。

这个命令使用的是gedit编辑器。当然你也能够使用vim等

sudo gedit /etc/apt/sources.list

以下把以下代码加入到sources.list里面。保存,退出

# TinyOS Repository
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main

如今运行下面命令更新安装新版本号的tinyos

sudo apt-get update

sudo apt-get install tinyos-2.1.2

如今tinyos的基础工作已经做好,接下来就是完毕配置以及安装对应的编译器就可以。

步骤3:

改变tinyos目录的全部权,才干完毕后面的配置:

命令例如以下:

sudo chown your_user_name:your_user_name -R /opt/tinyos-2.1.2/

sudo chown your_user_name
-R /opt/tinyos-2.1.2

进入到tinyos-2.1.2文件夹下检查是否有tinyos.sh文件,假设没有新建这个文件并加入下面代码

#! /usr/bin/env bash
# www.ElectronicsPub.com
# TinyOS 2.1.2 Configuration Guide
# Here we setup the environment
# variables needed by the tinyos
# make system echo "Setting up for TinyOS 2.1.2"
export TOSROOT=
export TOSDIR=
export MAKERULES= TOSROOT="/opt/tinyos-2.1.2"
TOSDIR="$TOSROOT/tos"
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java
MAKERULES="$TOSROOT/support/make/Makerules" export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES

接下来我们配置环境变量。使用下面命令打开bash.bashrc

sudo gedit ~/.bashrc

在最以下加入以下代码:

# Start TinyOS environment pathing
export TOSROOT=/opt/tinyos-2.1.2
export TOSDIR=$TOSROOT/tos
export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.$CLASSPATH
export MAKERULES=$TOSROOT/support/make/Makerules
export PATH=/opt/msp430/bin:$PATH
source /opt/tinyos-2.1.2/tinyos.sh
# End TinyOS pathing

用下面命令运行更改:

source
~/.bashrc

步骤4:

安装java

cd
$TOSROOT/support/sdk/java

sudo tos-install-jni

make

make install

假设是第一次安装tinyos,MSP430一些工具会通过tinyos的安装自己主动安装。能够通过下面命令检查:

msp430-gcc
--version

假设提示:command not found or msp430 compiler is not installed 请依照步骤5安装msp430-gcc编译器。或者提示已经安装了这个编译器可是版本号在4.6.3下面。你也须依照步骤5安装。

假设提示:如今编译器版本号已经是4.6.3,那么能够尝试使用tinyos提供的demo进行试验了。

步骤5:

卸载老版本号的msp430-gcc 使用下面命令

sudo apt-get autoremove --purge msp430*

加入keys

gpg --keyserver keyserver.ubuntu.com --recv-keys 34EC655A

gpg
-a --export 34EC655A | sudo apt-key add -

加入源:方法像依照步骤2那样加入。 在sources.list 里加入下面代码:

# TinyOS MSP430 GCC Compiler Repository
deb http://tinyprod.net/repos/debian squeeze main
deb http://tinyprod.net/repos/debian msp430-46 main</span>

运行下面命令完毕安装:

sudo apt-get update

sudo
apt-get install msp430-46 nesc tinyos-tools

如今环境就搭建好了。能够使用下面命令检查一下

tos-check-env

该命令可以检查出tinyos环境中绝大多数的配置情况。

以下进行试验。以telosb为例,将telosb节点插入计算机USB口。为虚拟机分配USB设备。

检查port与port名称可使用下面命令:

motelist

回复类似于这样说明已经连接好了

Reference  Device           Description 

---------- ---------------- ---------------------------------------------

A800J7PW   /dev/ttyUSB0     FTDI FT232R USB UART

以Blink 为例,首先要进入到Blink文件夹下,能够使用下面命令:

/opt/tinyos-2.1.2/apps/Blink

编译:

make telosb

系统给出回应

root@asus:/opt/tinyos-2.1.2/apps/Blink#
make telosb   

mkdir -p build/telosb 

    compiling BlinkAppC to a telosb binary  

ncc -o build/telosb/main.exe  -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all -target=telosb -fnesc cfile=build/telosb/app.c -board= -DDEFINED_TOS_AM_GROUP=0x22 -DIDENT_APPNAME=\"BlinkAppC\"DIDENT_USERNAME=\"root\" -DIDENT_HOSTNAME=\"asus\" -DIDENT_USERHASH=0x902b0604L
-DIDENT_TIMESTAMP=0x53ba1c44LDIDENT_UIDHASH=0x89c7fff1L  BlinkAppC.nc -lm

    compiled BlinkAppC to build/telosb/main.exe

            2538 bytes in ROM 

              56 bytes in RAM 

msp430-objcopy --output-target=ihex build/telosb/main.exe build/telosb/main.ihex

    writing TOS image

下载程序。运行下面命令:

make telosb install bsl,/dev/ttyUSB0

最后提示

cp build/telosb/main.ihex build/telosb/main.ihex.out 

    installing telosb binary using bsl    

tos-bsl --telosb -c /dev/ttyUSB0 -r -e -I -p build/telosb/main.ihex.out 

MSP430 Bootstrap Loader Version: 1.39-goodfet-8  

Mass Erase... 

Transmit default password ...

Invoking BSL...    

Transmit default password ... 

Current bootstrap loader version: 1.61 (Device ID: f16c)

Changing baudrate to 38400 ...

Program ...

2598 bytes programmed. 

Reset device ...    

rm -f build/telosb/main.exe.out build/telosb/main.ihex.out

你会看到三个led交替闪烁!

tinyos学习之旅開始啦!

//***************************************

//Email:912293097@qq.com

//***************************************

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGlhbnpoaWhlbl93cQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" width="400" height="250">

一步步教你搭建TinyOS2.1.2开发环境的更多相关文章

  1. 一步步教你搭建VS环境下用C#写WebDriver脚本

    一步步教你搭建VS环境下用C#写WebDriver脚本http://www.automationqa.com/forum.php?mod=viewthread&tid=3529&fro ...

  2. 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)

    首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...

  3. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  4. 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo

    目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...

  5. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  6. ubuntu上用eclipse搭建java、python开发环境

    上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...

  7. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  8. 极其简单的搭建eclipse的android开发环境

    这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...

  9. 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    转自:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是V ...

随机推荐

  1. CSS3:绘制图形

    CSS画图形,基本上所有的实现都是对边框的角度的调整及组合. 以下不包含兼容浏览器的前缀,请使用时在border-radius前加-moz-.-webkit- .... 1.正常得不得了的矩形 .sq ...

  2. 消息队列系列(四):Rabbitmq常用命令行

    目录:安装目录下的 ./sbin rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options…] http://www.rab ...

  3. SQL 日期格式化函数

    Sql Server 中一个非常强大的日期格式化函数: 获得当前系统时间,GETDATE(): 2008年01月08日 星期二 14:59 Select CONVERT(varchar(100), G ...

  4. Yii2系列教程七:Behaviors And Validations

    这一篇文章的开头就无需多言了,紧接着上一篇的内容和计划,这一篇我们来说说Yii2的Behavior和Validations. Behavior 首先我们来说说Behavior,在Yii2中Behavi ...

  5. HBase 写优化之 BulkLoad 实现数据快速入库

    在第一次建立Hbase表的时候,我们可能需要往里面一次性导入大量的初始化数据.我们很自然地想到将数据一条条插入到Hbase中,或者通过MR方式等.但是这些方式不是慢就是在导入的过程的占用Region资 ...

  6. 报错:numRecords must not be negative

    报错的原因:删除已经使用过的kafka topic,然后新建同名topic 解决方法:把topic名字换一下 (有其他更好的解决方法,可以不修改topic名)

  7. docker入门——镜像简介

    什么是docker镜像 Docker镜像是由文件系统叠加而成. 最底端是一个引导文件系统,即bootfs: 这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导文件系统有 ...

  8. 读取Properties配置文件, 四种方式都可以得到webroot/WEB-INF/classes这个路径

    下面四种方式都可以得到webroot/WEB-INF/classes这个路径,有什么区别,哪种方式最好? String path = this.getClass().getResource(" ...

  9. Android笔记:invalidate()和postInvalidate() 的区别及使用——刷新ui

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中 ...

  10. 【Excle】动态更新数据下拉菜单

    现在我们制作了一个简单的下拉菜单,如下: 但是随着公司的逐渐扩大,部门也变得多了,目前我是把数据范围写死的 ,所有每次添加一个部门,就得修改数据范围,那么现在我们不想修改这个范围了,想让他每次添加部门 ...