一步步教你搭建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
接下来我们配置环境变量。使用下面命令打开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开发环境的更多相关文章
- 一步步教你搭建VS环境下用C#写WebDriver脚本
一步步教你搭建VS环境下用C#写WebDriver脚本http://www.automationqa.com/forum.php?mod=viewthread&tid=3529&fro ...
- 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)
首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- ubuntu上用eclipse搭建java、python开发环境
上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...
- react-native —— 在Windows下搭建React Native Android开发环境
在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...
- 极其简单的搭建eclipse的android开发环境
这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...
- 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
转自:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是V ...
随机推荐
- SpingMVC实现集合参数(Could not instantiate bean class [java.util.List])
需求,要求批量新增或者修改一个List,在springMVC中是不支持下面代码的写法: @RequestMapping(value = "/update", method = Re ...
- [Python爬虫] 之二十四:Selenium +phantomjs 利用 pyquery抓取中广互联网数据
一.介绍 本例子用Selenium +phantomjs爬取中广互联网(http://www.tvoao.com/select.html)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融 ...
- Android画图系列(二)——自己定义View绘制基本图形
这个系列主要是介绍下Android自己定义View和Android画图机制.自己能力有限.假设在介绍过程中有什么错误.欢迎指正 前言 在上一篇Android画图系列(一)--自己定义View基础中我们 ...
- Spark(二) -- Spark简单介绍
spark是什么? spark开源的类Hadoop MapReduce的通用的并行计算框架 spark基于map reduce算法实现的分布式计算 拥有Hadoop MapReduce所具有的优点 但 ...
- [Functional Programming] Pull Many Random Numbers in a Single State ADT Transaction
We have the ability to select a single random card from a pile of twelve cards, but we would like to ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何快速调整大量控件的位置
打开元素列表,然后直接从顶部按住Shift批量选中控件即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的 ...
- PowerDesigner 将表的字段name属性设置到comment凝视
1.首先copy以下的vbs脚本.并将其另存为name2comment.vbs '*********************************************************** ...
- zh-cn en-uk表示语言(文化)代码与国家地区对照表
af 公用荷兰语 af-ZA 公用荷兰语 - 南非 sq 阿尔巴尼亚 sq-AL 阿尔巴尼亚 -阿尔巴尼亚 ar 阿拉伯语 ar-DZ 阿拉伯语 -阿尔及利亚 ar-BH 阿拉伯语 -巴林 ar-EG ...
- 详解CSS的相对定位和绝对定位(讲得很详细)
详解CSS的相对定位和绝对定位 CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left ...
- linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包
目录 TC案例 TC常用命令 TC安装 TC原理介绍 TC规则 TC操作原理 TC命名规则 TC单位 TC命令 TC案例 如何使用tc模拟网络延迟和丢包 修改网络延时: sudo tc qdisc ...