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" //导比入头文件