首页 理论教育 TinyOS平台的简介

TinyOS平台的简介

时间:2023-06-28 理论教育 版权反馈
【摘要】:在TinyOS中,无论1.x还是2.x,平台都是一个非常重要的概念。TinyOS中的平台指的是在确定的硬件设备之上的功能抽象的程序集合。在完整地安装TinyOS之后,用户就获得了这些代码的使用和修改权。TinyOS将传感器网络节点适用的微处理器、射频芯片以及传感器等进行了抽象,分别存在“tinyos-2.x\tos\chips”和“tinyos-2.x\tos\sensorboards”目录下。这样理解固然没有错,但就本书而言,讨论的是TinyOS系统中这种硬件节点抽象出的软件平台。

TinyOS平台的简介

在TinyOS中,无论1.x还是2.x,平台都是一个非常重要的概念。在本书的很多地方读者可以看到类似的编译命令“make telosb”和“make micaz”。这里的“telosb”和“micaz”就是平台的名称。TinyOS中的平台指的是在确定的硬件设备之上的功能抽象的程序集合。通俗的说,就是加州大学伯克利分校在设计TinyOS系统的同时设计了一套硬件设备,该硬件设备包括微处理器、射频处理器、存储器以及传感器等无线传感器网络节点必须的一些功能,并对这些硬件的的功能进行了很好的抽象,形成了完整的底层驱动代码,并将这些代码作为TinyOS的一个子集打包发布。在完整地安装TinyOS之后,用户就获得了这些代码的使用和修改权。

Telosb和micaz就是这样一种平台。编译命令“make telosb”和“make micaz”指明了在当前应用的目录下,该应用底层承接的平台环境。例如读者可以在命令窗口中使用cd命令进入“tinyos-2.x\apps\Blink\”目录,并输入命令“make telosb”完成程序编译。

这里的Blink是一个与平台无关的应用,它的功能是使节点的LED定时闪烁。编译命令指明了该应用承接在telosb平台之上。当然,也可以输入“make micaz”等其他命令完成编译。需要指出的是,TinyOS不仅给出了可以直接使用的程序以简化开发周期,同时也给出了良好的编程示例,通过这些示例可以清晰地看到健壮完整的硬件抽象为上层应用的开发带来的便利,也可以帮助读者更好的理解TinyOS的硬件抽象结构。(www.xing528.com)

在“tinyos-2.x\tos\platform\”目录下可以看到“telos”、“telosb”、“mica”等目录,这是硬件平台抽象代码的入口。所谓入口,是指当执行编译命令“make****”时,编译器会自动根据make命令后的平台名称进入对应的平台目录进行进一步编译,但并不是所有与平台相关的代码都存放在平台目录下。这样的作法可能会使读者迷惑:既然是平台代码目录,如果不包含所有与平台相关的代码,那其他的代码存放在哪里?事实上,这就涉及到上节内容谈到的硬件抽象的横向分解。TinyOS将传感器网络节点适用的微处理器、射频芯片以及传感器等进行了抽象,分别存在“tinyos-2.x\tos\chips”和“tinyos-2.x\tos\sensorboards”目录下。这样的分解模式使得当用户需要在一个硬件平台的基础上扩展一个新的硬件平台时,那些保留的器件的驱动程序可以最大限度地被重用,这大大减小了开发的工作量。

当然,还需要说明的一点是,如果读者在互联网上使用搜索引擎搜索诸如“telosb”、“mica”以及“micaz”等关键词时,得到的搜索结果很可能多数是产品的推广信息。这是因为以上这些平台对应的硬件节点多数已经由CrossBow(柯思博)公司进行生产并面向全球发售。这意味着“telosb”这样的最初的实验室概念已经完成了商品化的转换,这当然是一件好事,但可能会让TinyOS的初学者产生一个错觉,那就是“telosb”和“mica”指的是实实在在的硬件产品。这样理解固然没有错,但就本书而言,讨论的是TinyOS系统中这种硬件节点抽象出的软件平台。之所以强调这一点,是因为市面上销售的例如“telosb”硬件产品对其编程不一定使用TinyOS,但这种节点依然可以被叫做“telosb”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈