
(1)μC/OS-II嵌入式实时操作系统
随着无线传感器网络的广泛应用,节点构成的变化是巨大的。因此无线传感器网络节点上的嵌入式操作系统必须具备好的移植性。与通用的操作系统相比,嵌入式操作系统具有如下一些特征:小巧、实时性、可裁减性、固化代码、稳定性。针对不同的处理器类型,存储器容量和实时性需求,有不同的嵌入式操作系统。UCB 为Mica 系列传感器网络产品开发了一套微型的操作系统TinyOS;清华大学也开发出了一种灵活的低成本无线传感器网络节点 FLOWS,它的单片机采用TI 公司的MSP430,移植了uC/OS-II 操作系统,无线传输芯片采用NRF905。
μC/OS-II 是一个简单、高效的源码公开的嵌入式实时操作系统内核。其大多数函数调用和服务的执行时间具有可确定性;具有可抢占的实时多任务调度系统功能,而且提供了用于任务间同步、互斥、通信的系统服务。这些功能可以根据不同需求进行裁减,它的最小化内核能编译到2 KB,目前已经被移植到x86、ARM、PowerPC、MIPS 等众多体系结构上。基于短小精悍、可移植性强的特点,μC/OS-II 很适用于无线传感器网络节点芯片。相比较于TinyOS,uC/OS-II 提供了更加完善的任务调度和任务通信机制,并且采用标准的C 语言设计,从而可以更加方便的移植与调试。
(2)μC/OS-II 在LM3S1968 上的移植
LM3S1968 片上具有高达256KB 的单周期Flash 和64KB 的单周期SRAM,因此,不需要外扩存储器就可以满足μC/OS-II 代码对容量的要求。
μC/OS-II 在LM3S1968 上的移植,由用户层、中间件层、μC/OS-II 源码层、μC/OS-II移植层和驱动库层等五个层次组成。
①用户层的User 目录存放用户代码与设置。其中Main.C 文件是用户编写任务的地方,如通风控制、光照强度控制等任务;Main.H 定义任务的堆栈大小、优先级等。OS_CFG.H是μC/OS-II 的配置文件,用户可根据需要修改其内容。Includes.H 是总的头文件,除μC/OS-II的源码外,所有“.C”的文件都包含它,这样用户所需的头文件和其它声明只需在Includes.H中声明一次就行了。
②中间件层的Middleware 目录存放用户自己编写的中间件,如Uart0.C、Uart0.H 串口通信中间件等。