TinyOs2.x的电源管理策略及程序移植
由于TinyOs是基于层次设计的系统体系,其移植性与硬件抽象层相关。硬件抽象层对硬件平台合理的描述,可以使操作系统内核基本与具体的硬件无关,以实现不同平台的移植[6]。作为实际应用, TinyOs2.x代码在Imote2的运行,大部分还是流畅的。
TinyOs2.x上典型编程设计过程(以BLINK为例):
1) 检查一下编译环境是否安装完毕,在Cygwin的shell中写入tos-check-env,
2) 检查TinyOs build system是否安装完毕。这需要MAKERULES环境运行良好。在Shell中输入printenv MAKERULES,
3) 用make 命令来编译一个TinyOs应用系统:make [platfrom],
4) 确定安装正确版本的nesC编译器,
5) 在以上基础上,将已经编译好的应用程序灌入到节点上,
6) 将节点从板子上拔下来,打开电源开关,此时三个LED将会以4HZ为频率进行计数闪烁。
TinyOs2.x在Imote2上也有一些问题[7]如:
radio driver,DMA版本的射频驱动(默认)不能够工作,对于SPI版本,多于十位的信息将使RX堆栈溢出;
DVFS,动态电压频率调整问题依然没有解决。
4 结束语
TinyOs的电源管理、平台支持上有了较大变化,使其在无线传感器网络上的应用更趋完善。平台支持方面,与已经接受广泛试用,运行相对稳定的TinyOs1.X版本相比,还存在一些不足之处,需要在实际运用中不断改进。
参考文献
[1] J Hill, R.Szewczyk,A. Woo,S. Hollar, D. E. Culler, and K. S. J. Pister. System architecture directions for networked sensors. In: Architectural Support for Programming Languages and Operating Systems, 2000, 93-104. TinyOS is available at http://webs.cs.berkeley.edu.
[ 2]于海斌,梁韡,曾鹏.智能无线传感器网络系统 [M]. 北京:科学出版社,2006.
[3] http://TinyOs-network-protocol.googlecode.com/files/tep112-mcu-power-management.pdf
[4]http://TinyOs-network-protocol.googlecode.com/files/tep115-pwr-mngmnt-non-virtual-dev.pdf.
[5]http://www.xbow.com/Products/Product_pdf_files/Wireless_pdf/Imote2_Datasheet.pdf.
[6]钱开国 桑楠 基于TinyOs的无线传感器网络操作系统移植性研究与实现 [J].福建电脑,2009,2(2):7-9.
[7] http://docs.tinyos.net/index.php/T2_on_Imote2.
《TinyOs2.x的电源管理策略及程序移植(第2页)》