TinyOS体系结构 PPT.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
# 3.1 概述 硬件抽象组件:将物理硬件映射到TinyOS的组件模型。 综合硬件组件:模拟高级的硬件行为,如感知组件、执行组件和通信组件。 高层软件组件:包含应用组件,其主要功能是向底层组件发出命令,底层组件向高层组件报告事件。 任务调度组件:即主组件,负责对整个TinyOS进行任务的调度,它包括一个任务调度器。 3.1 概述 第一层维护着命令和事件,主要是在硬件中断发生时对组件的状态进行处理; 第二层维护着任务,负责各种计算,只有当组件状态维护工作完成后,任务才能被调度。 3.1 概述 3.2 硬件抽象组件 3.2 硬件抽象层 硬件表示层与硬件的寄存器和中断密切相关,不同芯片的硬件平台的硬件表示层是不同的,这一层与平台的移植息息相关。 硬件适配层带有丰富的硬件相关的接口,有助于提高效率;不同平台的硬件适配层有可能不同。 硬件接口层提供与平台无关的接口,便于代码的移植。这一层与平台无关,上层可以调用这一层的接口实现对下层的控制。 3.2 硬件抽象层 硬件表示层(Hardware Presentation Layer,简称HPL)由一系列组件组成,该层组件直接位于硬件与软件的接口之间。该层组件访问硬件的一般方法是通过内存或I/O映射,并且硬件可以通过中断信号来请求服务。 HPL组件提供的接口完全由平台的硬件模块本身功能决定 。 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.2 硬件抽象层 3.3 综合硬件组件 3.4 高层软件组件 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.5 任务调度 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.6 系统启动顺序 3.7 跨平台应用 3.7 跨平台应用 * * * * 教师需要重点讲解红色字体代码,此段代码为HAL层的实现部分 教师需要重点讲解红色字体代码,此段代码说明,HIL层组件LedsC.nc使用HAL层组件PlatformLedsC.nc实现LED的控制。另外,HIL层组件为跨平台的应用提供了便利条件。 调度器提供了两个接口:TaskScheduler和TaskBasic 在PlatformP可以实现对平台的硬件进行初始化,上述代码并没有给出具体的平台初始化,在实际开发过程中,用户可以根据需要在PlatformP组件的implementation中实现平台的初始化。 教师需要讲解:不同的硬件之间之间通过不同的硬件平台划分,跨平台的应用程序通过调用与平台无关的硬件接口组件实现各个平台不同硬件的功能。 * 在TinyOS 2.x系统中,任务具有以下特点 : 在TinyOS2.x中,任务队列不会出现多个同样的任务,每个任务在任务队列中都有它自己预留的缓存区。 任务可以被多次提交,但是只有一种情况下是提交失败的,即任务已经被提交,但没有开始执行,此时再次提交该任务将会返回失败。 在TinyOS 2.x中,每个任务都分配了一个任务ID号,此ID号的程度为一个字节,即范围大小为0~255。如果一个组件需要多次提交给同一个任务,可以在任务实现代码的最后部分将自身再次提交入队。 TinyOS的调度器既支持最基本的任务模型,又支持接口任务模型,并且由调度器负责协调不同的任务类型(例如具有超时管理的任务、具有优先级的任务) 标准的TinyOS调度器组件定义在“tinyos-2.x\tos\system”目录中,其声明形式如下: //SchedulerBasicP.nc 文件 module SchedulerBasicP { provides interface TaskScheduler; provides interface TaskBasic[uint8_t id]; uses interface ThreadScheduler; uses interface Leds; } 调度器必须提供Schedu

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档