第一范文网 - 专业文章范例文档资料分享平台

TinyOS学习笔记1

来源:用户分享 时间:2020-04-03 本文由紫陌才韵 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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 http://tinyos.stanford.edu/tinyo ... lt;distribution> main

可以为(edgy,feisty,gutsy,hardy,jaunty,kARMic,lucid) 例如 deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main

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

deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main deb http://hinrg.cs.jhu.edu/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=/\-DIDENT_HOSTNAME=/\

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

module BlinkC @safe(){ //@safe的含义:?????

uses interface Timer as Timer0; //Timer接口,必须实现 uses interface Leds;//Led灯的接口 uses interface Boot;//启动接口 }

//接口的实现 implementation{ //自动生成

event void Timer0.fired(){

// TODO Auto-generated method stub //输出信息,在tossim中显示

dbg(\

//使led灯改变

call Leds.led0Toggle(); }

event void Boot.booted(){

// TODO Auto-generated method stub //时间周期为250毫秒

call Timer0.startPeriodic(250); } }

3.src->New->configuration->Nameof new Configuration:BlinkAppC

Configuration的含义:配置是将组件装配起来的组件,将各个组件使用的接口与其他组件提供的接口连接在一起。

components的含义:各个组件连接形成nesC的程序,组件是由各个模块组成的。

TinyOS学习笔记4-task操作分析

task操作分析 1.task操作的含义

正如基本的c语言一样,所有的代码是同步的,cup的资源是没有充分利用的。进一步而言,如果一段代码运行会影响其他代码的运行。任务的含义就是使任务中的代码在后台运行,也就是说过一会儿运行,类似于中断操作例如:

task void computeTask() { uint32_t i;

for (i = 0; i < 400001; i++){} }

event void Timer0.fired() { call Leds.led0Toggle(); post computeTask(); }

task为任务的代码部分,而task利用post来调用。本段代码的含义就是在灯亮过之后进行一个400,001次的作用就是在进行循环时不影响Timer.fired()的结束。 实验如下:

event void Timer0.fired() {

uint32_t i;

for (i = 0; i < 400001; i++) { call Leds.led0Toggle(); } }

此段代码的含义:循环400,001次,灯进行反转400,001次,由于是奇数,最后的结果是红灯。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教育文库TinyOS学习笔记1 全文阅读和word下载服务。

TinyOS学习笔记1 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/901247.html(转载请注明文章来源)
热门推荐
随机推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top