MyException - 我的异常网
当前位置:我的异常网» 操作系统 » 一步步教你筹建TinyOS2.1.2开发环境

一步步教你筹建TinyOS2.1.2开发环境

www.MyException.Cn  网友分享于:2014-07-11  浏览:0次
一步步教你搭建TinyOS2.1.2开发环境


(本教程使用的是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</span>

接下来我们配置环境变量,使用以下命令打开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

如果是第一次安装tinyosMSP430一些工具会通过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设备。

检查端口与端口名称可使用以下命令:

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

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


文章评论

10个调试和排错的小建议
10个调试和排错的小建议
每天工作4小时的程序员
每天工作4小时的程序员
Java程序员必看电影
Java程序员必看电影
为什么程序员都是夜猫子
为什么程序员都是夜猫子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
 程序员的样子
程序员的样子
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
我的丈夫是个程序员
我的丈夫是个程序员
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
代码女神横空出世
代码女神横空出世
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
老程序员的下场
老程序员的下场
一个程序员的时间管理
一个程序员的时间管理
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员都该阅读的书
程序员都该阅读的书
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员必看的十大电影
程序员必看的十大电影
如何成为一名黑客
如何成为一名黑客
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
鲜为人知的编程真相
鲜为人知的编程真相
我是如何打败拖延症的
我是如何打败拖延症的
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员的鄙视链
程序员的鄙视链
旅行,写作,编程
旅行,写作,编程
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
那些争议最大的编程观点
那些争议最大的编程观点
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有