- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TinyOS入门
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)连接内部组件。 之所以区别设计模块与配件,是为了让系统设计者在构建应用程序的时候可以脱离现有的实现。例如:设计者可以提供配件,只是简单地把一个或多个模块连接起来,而不涉及其中具体的工作。同
您可能关注的文档
- 《民用航空人员体检合格证管理规则》(CCAR-67FS-R2)-宣贯课件.ppt
- 第13章 会计工作组织.ppt
- 第二章2011年江苏省会计从业资格考试《财经法规与会计职业道德》课件.ppt
- 财经法规与职业道德第四章.ppt
- 2015年毕业生生源地信用助学贷款考试 试卷.doc
- 2013财经法规与职业道德第五章第一节.ppt
- 员工工作绩效考核.ppt
- 财务稽核系列专业技术职务评聘管理暂行规定.ppt
- 单项选择题(中级).doc
- 第2章财务分析信息基础.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)