好文档 - 专业文书写作范文服务资料分享网站

TinyOS在windows中安装步骤

天下 分享 时间: 加入收藏 我要投稿 点赞

TinyOS在windows中

安装步骤

文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

1. TinyOS

1.1 概要

TinyOS应用程序都是有一个或多个组件链接起来,从而形成一个完整的可执行程序。组件中实现了功能接口,同时也能使用其它组件提供的接口。

在接口定义中可以申明命令函数和事件函数,命令函数由接口提供者实现,事件函数由接口使用者实现。对于一个组件而言,如果它要使用某个组件接口中的命令,它必须实现这个接口的事件。一个组件可以使用或提供多个接口以及同一个接口的多个实例。 组件有两种类型:模块(module)和配置(configuration)。模块提供应用程序代码,实现一个或多个接口;配置则是用来将其它组件装配起来,将各个组件所使用的接口与其它组件提供的接口连接在一起,进行导通。每个应用程序都由一个顶级配置所描述,其内容就是将该应用程序所用到的所有组件导通起来,形成一个有机整体。

TinyOS应用程序必须包含Main组件,Main组件是首先被执行的一个组件。确切的说,在TinyOS中执行的第一个命令是(),接下来是()。

Main组件完成以下功能:芯片初始化,外围电路初始化,操作系统调度数据结构初始化,子组件初始化,启动子组件件,进入调度死循环从而将控制权交给操作系统,一旦没有任务可以调度就进入休眠状态以降低系统功耗。

TinyOS的调度系统是TinyOS系统的核心部分。它采用先进先出的排队策略,任务之间不可以抢占,但是中断可以抢占任务,中断是否可以抢占中断则是应用程序自己控制的。即如果中断处理程序进入中断以后执行了关中断的操作,那么这个中断将是不可抢占的,否则在服务的过程中就有可能被抢占掉。另外还要注意,在中断服务程序里面是可以创建任务的。

1.2 在Cygwin下的安装

在/etc/bash.bashrc文件中增加以下内容: exportTOSROOT=/opt/tinyos-2.x exportTOSDIR=$TOSROOT/tos

exportCLASSPATH=C:\\cygwin\\opt\\tinyos-2.x\\support\\sdk\\java\\tinyos.jar exportCLASSPATH=\

exportMAKERULES=$TOSROOT/support/make/Makerules exportPATH=/opt/msp430/bin:/opt/jflashmm:$PATH 安装以下软件包: rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--force--nodeps rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos

rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos rpm-ivh--ignoreos

修改执行/usr/bin/tos-install-jni文件:

change:\ /usr/bin/tos-install-jni

修改/usr/bin/python2.5-config文件: change:\ 编译Blink测试是否安装成功: cd/opt/tinyos-2.x/apps/Blink maketelosb makemica2 makemicaz makemicazsim

1.3 Blink程序结构

Blink.nc文件 configurationBlink{ }

implementation{

componentsMain,BlinkM,SingleTimer,LedsC; Main.StdControl->SingleTimer.StdControl; Main.StdControl->BlinkM.StdControl;

BlinkM.Timer->SingleTimer.Timer; BlinkM.Leds->LedsC; }

BlinkM.nc文件 moduleBlinkM{ provides{

interfaceStdControl; } uses{

interfaceTimer; interfaceLeds; } }

因为它提供了StdControl接口,所以它必须实现StdControl.init(),

StdControl.start()及StdControl.stop()等命令,因为它使用了Timer接口,所以它必须实现Timer.fired()事件 implementation{

commandresult_tStdControl.init(){ callLeds.init(); returnSUCCESS; }

commandresult_tStdControl.start(){

//Startarepeatingtimerthatfiresevery1000ms

TinyOS在windows中安装步骤

TinyOS在windows中安装步骤文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]1.TinyOS1.1概要TinyOS应用程序都是
推荐度:
点击下载文档文档为doc格式
7tq9h618030h1ll01eyq0a6ri16osu014e1
领取福利

微信扫码领取福利

微信扫码分享