TinyOS课后习题

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章

1、下列关于TinyOS描述错误的是(C)

A.TinyOS起源于吉利福尼亚大学伯克利分校的研究项目

B.WSN操作系统是无线传感器网络的关键支撑技术之一

C.TinyOS是使用C语言编写

D.最新的TinyOS版本支持IPv6协议

2、下列不属于TinyOS编程特点的是(A)

A.结构式编程

B.组件式编程

C.事件驱动编程

D.平台化编程

3、使用mytinyOS平台编译并下载程序的命令是(make cc2530 install)

4、简述TinyOS的优缺点。

(1)、优点:TinyOS有成千上万的用户,现有的体系结构已有5年以上的历史,代码可靠、有效,错误极少,这对项目工程来说至关重要;支持低功耗和并发执行模式,因此特别适合于无线传感器节点;支持技术上优异的网络协议,如汇聚协议CTP和6LoWPAN协议等。

(2)、缺点:它的组件式编程模型对于新手来说需要一段时间来适应;对于计算机密集型程序需要程序员将程序分成若干小部分,逐个执行,即需要使用TinyOS的“分阶段作业”机制,此类程序比较难写。

第二章

1、对于C程序员来说,nesC提出了三个“新概念”: 组件、接口和__并发执行模型____。

2、nesC程序的入口函数是_booted事件函数。

3、关于nesC程序文件组成叙述正确的是____D_____。

A只能是nc文件 B不可以包含C语言头文件

C可以不使用Makefile文件 D.程序中的nc文件可分为组件文件和接口文件

4、下列关于nesC语言叙述错误的是_C 。

A.接口是一个被声明的有意义函数的集合

B.参数化接口实质上是接口数组

C.通用接口是指有数据类型的接口,其意义在于可以使接口多次实例化

D.通用组件多次声明后,它将在程序内存在多份代码或组件关系组织

5、nesC程序文件组成:

C语言头文件:TinyOS程序的运行需要少量的C谙言头文件.它们被组件文件包含从而参与程序的编译。这些头文件主要包括结构体、数据定义以及宏定义等。

接口文件::当系统提供的接口不能满足要求时.用户可自定义接口类型。组件文件:包括程序中的逻辑算法代码和组件配置关系文件。Makefile文件:被make 工具调用的编译管理文件。

6、并发模型概念

nesC程序采用由任务(Task)和硬件中断((Hardware Event Handler)构成的并发模型.进行运行,该模型包含三个要点:(1)、任务:是操作系统提供的一种简单的延期计算机制,本质上是一个可以被操作系统调度执行的函数。(2)、中断:本质上是硬件中断服务函数,如定时器中断、射频中断等。(3)、任务可以被中断处理程序打断。

第三章

1、下列不是TinyOS 2.x提出的3层结构的硬件抽象架构的是_D_____。

A.硬件表示层

B.硬件抽象层

C.硬件接口层

D.综合硬件层

2、TinyOS体系结构由下到上将一系列组件分为四大类:硬件抽象组件、综合硬件组件、高层软件组件、任务调度组件。

3、TinyOS 2.x的启动过程使用三个接口:Init、Scheduler、boot。

4、TinyOS 2.x 的启动过程.

(1)硬件平台启动。(2)调度器初始化。(3)平台初始化。(4)软件相关组件初始化。(5)中断使能。(6)触发启动完成的信号。(7)循环运行任务调度。

第四章

1、下列关于TinyOS平台目录叙述正确的是 A 。

A、" support/make/'目录存放的是平台代码

B、"tos/platform”目录存放的是编译脚本

C、平台的驱动代码一般存放在“tos/chips”目录

D、平台的设置环境变量的启动脚本存在“apps”目录下

A、.应用程序目录下的Makefile文件是make首先要解析的脚本

B、变量"MAKERULES”是由用户定义的

C、Makerules文件是由TinyOS提供给make编译用户程序使用的

D、环境变量“TOSDIR”指向新发布平台的目录

3、简述“.target", ".rules”和“.platform”文件的作用。

(1)、“.target”文件产生以下两个直接影响:1)、调用make工具编译程序时的命令要使用“make平台目标”。2)、make工具调用相关脚本自动寻找“芯片名”目录下的“芯片名.rules”文件并解析执行。

(2)、.rules文件主要完成以下工作:1)、定义指向“参与编译的路径”变量以传递给nesC编译器,让编译器可以找到程序所用的合适的组件和接口。2)、调用nesC编译器编译nesC程序为C程序。3)、调用平台硬件所需要的本地C语言编译器编译硬件可执行的二进制代码。4)、调用平台硬件所需要的烧写程序将可指定行代码下载至硬件。(3)、“.platform”文件:指定nesC编译器要搜索的芯片驱动、射频驱动、传感器、网络驱动等目录,以及为TinyOS 的任务调度器指定要使用的组件。

第五章

1、下列组件是主动消息组件的是 A 。

A. AMSenderC.nc

B. AdcP.nc

C. HdlTranslatec

D. SerialP.nc

2、修改串口的波特率使用的是哪个组件 C 。

A. HdlTranslateC.nc

B. SerialP.nc

C. HplCC2530UartP.nc

D. SerialActiveMessageP.nc

3、TinyOS的编程的基本思想也采用分层结构,即上层调用下层,其分层结构大致可分为底层驱动层、中间层、应用层。

第六章

1、汇聚协议的主要接口有Send接口、Receive接口、Intercept接口和RootControl接口。

2、汇聚服务组件主要通过CollectionC组件、CollectionSenderC组件和CollectionSenderP组件来进行汇聚服务。

3、在分发协议中分发服务提供了两个主要的接口:DisseminationValue接口和DisseminationUpdate接口。

四、编程:

1、开机点亮LED的TinyOS程序。-12-与-42-考一个

LedOnAppC.nc LedOnC.nc

/*LedOnAppC.nc文件*/

Configuration LedOnAppC

{

}

implementation

{

components MainC. LedOnC,LedsC;

MainC.Boot<- LedOnC.boot;

LedOnC.Leds-> LedsC.Leds;

}

/*LedOnC.nc文件*/

module LedOnC

uses interface Boot;

uses interface Leds;

implementation

task void DoLedOn()

{

call Leds.led0On();

相关文档
最新文档