TinyOS操作系统开发技术及实践课件第3章TinyOS体系结构.ppt

TinyOS操作系统开发技术及实践课件第3章TinyOS体系结构.ppt

第3章 TinyOS体系结构          3.1 概述   TinyOS操作系统采用组件式结构,是一个基于事件的系统。系统本身提供了一系列的组件供用户调用,其体系结构如图3-1所示。   TinyOS体系结构由下到上将一系列组件分为以下4大类:   硬件抽象组件:将物理硬件映射到TinyOS的组件模型。   综合硬件组件:模拟高级的硬件行为,如感知组件、执行组件和通信组件。   高层软件组件:包含应用组件,其主要功能是向底层组件发出命令,底层组件向高层组件报告事件。   任务调度组件:即主组件,负责对整个TinyOS进行任务的调度,它包括一个任务调度器。 图3-1 TinyOS体系结构   任务调度器具有两层结构,第一层维护着命令和事件,主要是在硬件中断发生时对组件的状态进行处理;第二层维护着任务,负责各种计算,只有当组件状态维护工作完成后,任务才能被调度。   TinyOS调度模型主要有以下几个特点:   任务单线程运行,且运行结束后,只分配单个任务栈,这对内存受限的系统很有利。   没有进程管理概念,对任务按简单的FIFO队列进行调度。   FIFO的任务调度策略具有能耗敏感性,当任务队列为空时,处理器进入休眠,随后由外部中断事件唤醒CPU进行任务调度。   两级的调度结构,可以实现优先执行少量同事件相关的处理,同时打断长事件运行的任务。   基于事件的调度策略,只需要少量空间就可获得并发性,与事件相关的任务可以很快被处理,不允许阻塞,具有高度并发性。   任务之间相互平等,没有优先级的概念。        3.2 硬件抽象组件   在TinyOS体系架构中硬件抽象组件主要负责物理硬件的控制,采用硬件抽象架构的组件设计模型主要有以下优点:   提高代码的可重用性和可移植性。   实现效率和性能的优化。   本节将介绍硬件抽象架构及其分层结构。 3.2.1 硬件抽象架构   TinyOS 2.x提出了一个具有3层结构的硬件抽象架构,并结合其组件特点形成一个高效的组织结构,如图3-2所示。   硬件抽象架构的3层分别是硬件表示层、硬件适配层和硬件接口层。3层的作用描述如下:   硬件表示层与硬件的寄存器和中断密切相关,不同芯片的硬件平台的硬件表示层是不同的,这一层与平台的移植息息相关。   硬件适配层带有丰富的硬件相关的接口,有助于提高效率;不同平台的硬件适配层有可能不同。   硬件接口层提供与平台无关的接口,便于代码的移植。这一层与平台无关,上层可以调用这一层的接口实现对下层的控制。 图3-2 硬件抽象架构 3.2.2 硬件表示层   硬件表示层(Hardware Presentation Layer,以下简称HPL)由一系列组件组成,该层组件直接位于硬件与软件的接口之间。该层组件访问硬件的一般方法是通过内存或I/O映射,并且硬件可以通过中断信号来请求服务。   HPL组件提供的接口完全由平台的硬件模块本身功能决定。因此HPL组件和硬件的紧密联系会降低组件设计和实现的自由度。尽管每个HPL组件和底层硬件都是独一无二的,但这些组件都有类似的大体结构。为了能够和硬件抽象架构的其余部分更加完美地结合起来,每个HPL组件都应该具备以下几个功能:   为了实现更有效的电源管理,必须有硬件模块的初始化、开始和停止命令。   为控制硬件操作的寄存器提供“get”和“set”命令。   为常用的标识位设定和测试操作提供单独的命令。   开启和禁用中断的命令。   硬件中断的服务程序,HPL组件的中断服务程序只负责临界操作,如复制一个变量、清空一些标识等行为。   以mytinyos平台为例,此平台的HPL组件大都存在于与CC2530芯片相关的文件中。如图3-3所示,硬件表示层组件存在于“tos/chips/cc2530/”目录中。 图3-3 芯片目录   以“tos/chips/cc2530/”目录下的HplCC2530GeneralIOC.nc文件为例,HplCC2530 GeneralIOC.nc文件是针对CC2530的I/O的实现,打开此文件如图3-4所示。 图3-4 HplCC2530GeneralIOC.nc文件 【代码3-1】 HplCC2530GeneralIOC. nc #include cc2530.h module HplCC2530GeneralIOC { provides { /*P0有关的接口*/ interface GeneralIO as Port00; interface GeneralIO as Port01; interface GeneralIO as Port02; interface GeneralIO as Port03; inte

文档评论(0)

1亿VIP精品文档

相关文档