Lesson1---TinyOS入门 TinyOS系统经典PPT教程 教学课件.ppt

Lesson1---TinyOS入门 TinyOS系统经典PPT教程 教学课件.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lesson1---TinyOS入门 TinyOS系统经典PPT教程 教学课件

22 Lesson1 TinyOS入门 介绍TinyOS系统的一些基本概念:组件(components),模块(modules),配件 (configurations)和接口( interfaces)。 如何编译和安装一个TinyOS程序在一个mote(尘埃)节点上。 以Blink为例介绍一个简单的应用程序是如何组建起来的。 运行环境:TinyOS 2.1 + Cygwin (Windows XP) Cygwin在Windows下提供一个类似Linux的环境 一、编译和安装 作为一开始的学习,先来编译一个非常简单的程序 Blink。若没有硬件节点,可以用TinyOS的TOSSIM仿真平台进行编译运行。 编译TinyOS程序使用make命令,TinyOS系统有一个强大的扩展性很强的make 系统,位于 tinyos-2.x/support/make目录中。 先运行如下命令检查环境是否正确配置。 $ tos-check-env 一、编译和安装 接下来要检查TinyOS系统是否正常启用。 $ printenv MAKERULES 1.1 确认 nesc语言的ncc编译器的版本 nesC语言是TinyOS使用的语言,而ncc是对gcc的扩展,专门用来编译nesC应用程序。 可输入 which ncc来查看系统调用的是哪个ncc编译器,会跳出该ncc的文件位置,再输入该文件目录的 –version选项命令,得到其版本号。 1.2 在mica系列节点上下载程序 micaz 节点+串口编程辅助开发板mib510。 $ make micaz install.x mib510,serialport $ make micaz reinstall.x mib510,serialport 其中,x是分配给节点的全网唯一的身份标识码;serialport是串口设备的名字,在Windows下,如果当前串口是COMn,那使用 /dev/ttySn-1 作为设备名字。 reinstall命令告诉make 系统下载当前已编译的二进制文件到节点上,它跳过了编译的过程。 输入 “make clean ”可以清除所有已经编译完成的二进制文件,然后输入 “make micaz install ”重新编译文件,然后再下载一次。 $ make micaz install.3 mib510,/dev/ttyS5 如果程序下载成功将会如下图所示,如果没有请重新编译下载。 二、组件和接口 TinyOS程序代码是用nesC语言编写的,这是C语言扩展了一些组件和并发特征后的语言。 一个nesC语言编写的程序由一个或多个组件构成或连接而成。 一个组件(conponent)由两部分组成:一个是规范说明,包含要用接口的名字;另一部分是它们的实现。 一个组件可以提供接口(interface),也可以使用接口。提供的接口描述了该组件提供给上一层调用者的功能,而使用的接口则表示了该组件本身工作时需要的功能。 二、组件和接口 接口是双向的:提供或使用。 接口指定了一组命令(command),其职能由接口的提供者实现。还指定了一组事件( event),其职能由该接口的使用者实现。 也就是说,提供了接口的组件必须实现该接口的命令函数;而使用了某接口的组件必须实现该接口的事件函数。 如果一个组件调用了( call)的一个接口命令 ,必须实现该接口的事件。 一个组件可以使用( use)或提供( provide)多个接口或者同一接口的多个实例。 二、组件和接口 概述 TinyOS操作系统、库和程序服务程序是用nesC写的。 nesC是一种用于开发组件式结构程序的语言。 nesC是一种C语法风格的语言,但是支持TinyOS的并发模型,以及组织、命名和连接组件成为嵌入式网络系统的机制。 nesC应用程序由有良好定义的双向接口的组件构建; nesC把组件化/模块化的思想和TinyOS基于事件驱动的执行模型结合起来。?? 规范 nesC应用程序由一个或多个组件连接而成。 一个组件可以提供或使用接口: 组件中command接口由组件本身实现; 组件中event接口由调用者实现; 接口是双向的,调用command接口必须实现其event接口。 2.1 配件和模块 组件有两种:配件和模块。 模块(module):提供一个或多个接口的实现。 配件(configuration):把其他的组件装配起来,连接组件使用的接口到其提供者。 每个nesC应用程序都必须有且只有一个顶层配件(top-level configuration)连接内部组件。 之所以区别设计模块与配件,是为了让系统设计者在构建应用程序的时候可以脱离现有的实现。例如:设计者可以提供配件,只是简单地把一个或多个模块连接起来,而不涉及其中具体的工作。同

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档