TinyOS.mice

TinyOS专题

导航

TinyOS学习笔记(1)

概述
    ◆TinyOS操作系统、库和程序服务程序是用nesC写的
    ◆nesC是一种开发组件式结构程序的语言
    ◆nesC是一种C语法风格的语言,但是支持TinyOS的并发模型,以及组织、命名和连接组件成为健壮的     嵌入式网络系统的机制
        ◇nesC应用程序是由有良好定义的双向接口的组件构建的
        ◇nesC定义了一个基于任务和硬件事件处理的并发模型,并能在编译时检测数据流
组件
    ◆规范
        ◇nesC应用程序由一个或多个组件连接而成
        ◇一个组件可以提供或使用接口
            ●组件中command接口由组件本身实现
            ●组件中event接口由调用者实现
            ●接口是双向的,调用command接口必须实现其event接口
    ◆实现
        ◇modules
            ●包含应用程序代码,实现接口
        ◇configurations
            ●装配模块,连接模块使用的接口到其提供者
            ●每个nesC应用程序都有一个顶级configuration连接内部模块
并发模型
    ◆TinyOS只能运行单个由所需的系统模块和自定义模块构成的应用程序
    ◆两个线程
        ◇任务
            ●一次运行完成,非抢占式
        ◇硬件事件处理
            ●处理硬件中断
            ●一次运行完成,抢占式
            ●用于硬件中断处理的command和event必须用async关键字声明
    ◆执行流程(race conditions)
        ◇nesC要避免任务排他性访问共享数据
        ◇nesC要避免所有共享数据访问都通过原子语句
        ◇nesC在编译过程中要检测数据流,但可能误报,可用norace关键字声明不检测,但对其使用
         应格外小心

posted on 2005-02-21 11:01  TinyOS  阅读(10132)  评论(26)    收藏  举报