TinyOS学习笔记1

  • 格式:docx
  • 大小:97.49 KB
  • 文档页数:91

TinyOS学习笔记1-TinyOS安装

1、Ubuntu系统的安装

安装TinyOS可以在Windows中利用Cygwin进行安装,经过测试在XP中可以正确安装,但是安装的步骤过于麻烦,可以参考官方网站的安装步骤。在Win7中安装后有问题,不能正确编译。因此最好使用Linux系统来安装TinyOS,安装过程简单。

安装Ubuntu系统

1.Ubuntu的官方网站下载iso镜像,我安装的是10.04版本

2.可以有两种方式进行Ubuntu安装。

(1)传统方式安装:在系统中划分出空闲分区,利用U盘制作启动盘,官网有,可下载。重启系统选择U盘启动。进行安装。

(2)wubi方式进行安装:以文件形式进行安装,下载wubi,将镜像与wubi放于同一文件夹。点击wubi进行安装。

3.更新Ubuntu

更行Ubuntu时需要注意,更新时grub不更新。利用wubi安装,我选择了更新grub,重新启动系统出现错误。解决方法如下:

1.另一台电脑,到Ubuntu网站下载镜像,安装到U盘中,制作启动盘。

2.开机,选择从U盘启动,在Boot里设置不好使,像我的ASUS A8,开机按ESC,选择U盘启动。

3.看到Ubuntu的欢迎界面,选择第一项,进入U盘中的Ubuntu系统。

4.在终端中,输入

sudo apt-get install lilo

sudo lilo -M /dev/SDa mbr

5.重启系统,问题解决

4.使用root登录系统

2、在Ubuntu系统下安装TinyOS

我安装的时TinyOS2.1.1,安装过程参考TinOS官网的安装指导,但有问题,具体步骤如下:

1)在系统的“/etc/apt/sources.list”中,添加如下代码:

deb /tinyo ... lt;distribution> main

可以为(edgy,feisty,gutsy,hardy,jaunty,kARMic,lucid)

例如 deb /tinyos/dists/ubuntu hardy main

以上的源可能有问题,在安装是提示tinyos-2.1.1依赖的包找不到或无法安装,更新源如下解决此问题:

deb /tinyos/dists/ubuntu hardy main

deb /tinyos oneiric main

2)更新知识库,打开终端,输入

sudo apt-get update

3)安装TinyOS

sudo apt-get install tinyos

提示可选的tinyos的版本,选择最新的版本2.1.1

sudo apt-get install tinyos-2.1.1

4)设置环境变量

在~/.bashrc或者 ~/.profile中加入如下代码

#Sourcing the tinyos environment variable setup script

source /opt/tinyos-2.1.1/tinyos.sh

可用如下方法打开~/.bashrc或者 ~/.profile

gedit ~/.bashrc

添加成功后需要重新启动终端

5)测试是否安装成功

cd /opt/tinyos-2.1.1/apps/Blink/

(若当前文件夹没有权限创建文件,将Blink复制到当前用户的目录进行运行)

make telosb

显示如下则安装成功:

mkdir -p build/telosb

compiling BlinkAppC to a telosb binary

ncc -obuild/telosb/main.exe -Os-O -mdisable-hwmul -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=/"ubuntu/"-DIDENT_USERHASH=0xa3473ba6L

-DIDENT_TIMESTAMP=0x4c566efbL-DIDENT_UIDHASH=0xd972ea96L BlinkAppC.nc -lm

compiled BlinkAppC to build/telosb/main.exe

2648 bytes in ROM

54 bytes in RAM

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

writing TOS image

TinyOS学习笔记2-TinyOS的IDE-Yeti2

3.测试TinyOS中的Toosim

 make micaz sim

 提示找不到python2.5

 查看本机python的版本,我的版本为2.6

 进入/opt/tinyos-2.1.1/support/make/sim.extra

 修改python的版本PYTHON_VERSION=2.6

 重新make micazsim

 提示*** Successfullybuilt micaz TOSSIM library.则可运行tossim。

4.安装Eclipse以及TinyOS的IDE-Yeti2

1)下载,解压Eclipse

Eclipse,在桌面创建启动器,连接Eclipse.

2)参考http://tos-ide.ethz.ch/wiki/index.php

Help->Install New Software

3)点击Add,Name:Yeti2,location:http://tos-ide.ethz.ch/update/site.xml

4) next等待更新

5)选择如下,进行安装

6) 安装Graphical Editing Framework

若出现如下错误:

Cannot complete the install because one or more required items could not be found.

Software being installed: Yeti 2 - TinyOS Debugger (optional) 1.2.18 (tinyos.yeti.debugger.feature.group 1.2.18)

Missing requirement: Yeti 2 - TinyOS Debugger (optional) 1.2.18 (tinyos.yeti.debugger.feature.group 1.2'org.eclipse.cdt.debug.core 0.0.0' but it could not be found

在安装Eclipse时解压错误,导致一些文件没有正确安装,卸载Eclipse重新安装,注意是先解压后再拷贝到相应tar出错的),再次安装问题解决。

7)安装完毕,设置环境变量

Window->Preferences->TinyOS->Environments

检查各个目录,点击Apply,OK,设置完毕。

8)检查TinyOS的安装

TinyOS->CheckInstallation(需要新建一个TinyOS项目才会出来此选项,在上部Window旁)

我的返回:Done

Errors:0

Warnings:1

警告的部分:

Test:Environment variables

Description: Compare the environment variables known toEclipse with the variables known to the shell

Environment variables differ, this can lead to failureswhen compiling or debugging an application.

CLASSPATH:

Eclipse = ''

Shell =':/opt/tinyos-2.1.1/support/SDk/java'

LESSCLOSE:

Eclipse = ''

Shell ='/usr/bin/lesSPIpe %s %s'

LESSOPEN:

Eclipse = ''

Shell ='| /usr/bin/lesspipe %s'

LS_COLORS:

Eclipse = ''

Shell =''

MAKERULES:

Eclipse = ''

Shell ='/opt/tinyos-2.1.1/support/make/Makerules'

TOSDIR:

Eclipse = ''

Shell ='/opt/tinyos-2.1.1/tos'

TOSROOT:

Eclipse = ''

Shell ='/opt/tinyos-2.1.1'

Status: warning

Message: Not all environment variables are thesame

警告未解决!!!

TinyOS学习笔记3-Blink分析

5.TinyOS2.1.1应用程序举例:Blink

1.导入TinyOS例子

File->New->Example->选择TinyOS Example,配置如下:

Projete Name:MyBlink

Environment: TinyOS Unix Wrapper 2

Example: Blink

Targer: telosb

2.参考Blink例子,建立自己的TestBlink进行分析,我们的程序只让一个灯闪烁。

File->New->Project->TinyOSProject

Project Name:TestBlink

Target:telosb

3.src->New->Module->Nameof new Module:BlinkC

Moduule的含义:模块实现应用程序的代码,实现一个或多个接口。

在模块中添加接口,供configuration来调用。

本程序的源代码如下:

#include "Timer.h" //导比入头文件