理 论 篇
第1章 TinyOS概述 2
1.1 无线传感器网络 3
1.1.1 关键技术 3
1.1.2 特点 3
1.2 WSN操作系统 3
1.3 TinyOS操作系统 4
1.3.1 起源与发展 4
1.3.2 体系结构 5
1.3.3 硬件支持 5
1.3.4 网络功能 6
1.3.5 特点 6
1.4 开发环境简介 6
1.4.1 开发环境 6
1.4.2 编程特点 7
1.4.3 目录结构 8
1.5 第一个TinyOS程序 10
1.5.1 程序开发过程 10
1.5.2 第一个TinyOS程序 11
小结 17
练习 17
第2章 nesC语言基础 18
2.1 nesC概述 19
2.2 nesC和C的比较 20
2.2.1 程序组成主体 20
2.2.2 模块之间的调用 21
2.2.3 命名空间 21
2.2.4 编程思想 21
2.3 nesC程序结构 22
2.3.1 程序文件 22
2.3.2 组件 22
2.3.3 程序结构 22
2.3.4 核心应用模块 23
2.4 接口 24
2.4.1 接口规则 24
2.4.2 接口的定义 25
2.4.3 分阶段操作 26
2.5 组件 26
2.5.1 组件定义 26
2.5.2 接口声明 27
2.5.3 模块 28
2.5.4 配件 31
2.6 nesC高级编程 33
2.6.1 参数化接口 34
2.6.2 通用接口 37
2.6.3 通用组件 40
2.6.4 编程实例 42
2.7 并发模型 45
2.7.1 任务 45
2.7.2 同步与异步 47
2.7.3 原子性代码 49
2.7.4 中断 51
2.8 常用接口和组件 52
2.8.1 系统启动接口Boot 52
2.8.2 LED接口Leds 54
2.8.3 定时器接口Timer 55
2.8.4 其他常用接口 58
2.9 可视化组件关系图 59
小结 61
练习 62
第3章 TinyOS体系结构 63
3.1 概述 63
3.2 硬件抽象组件 64
3.2.1 硬件抽象架构 64
3.2.2 硬件表示层 65
3.2.3 硬件适配层 68
3.2.4 硬件接口层 72
3.3 综合硬件组件 73
3.4 高层软件组件 73
3.5 任务调度 74
3.5.1 任务和调度 74
3.5.2 调度器的具体实现 76
3.6 系统启动顺序 81
3.6.1 TinyOS 2.x启动接口 81
3.6.2 TinyOS 2.x启动顺序 81
3.7 跨平台应用 87
小结 87
练习 88
第4章 平台移植 89
4.1 移植概述 90
4.1.1 名词概念 90
4.1.2 平台目录 91
4.1.3 平台建立实例 92
4.2 make系统 93
4.2.1 make工作流程 93
4.2.2 系统环境变量 94
4.2.3 启动脚本实例 96
4.3 support目录 97
4.3.1 平台名.target文件 98
4.3.2 芯片目录 99
4.3.3 芯片名.rules文件 99
4.3.4 docs.extra文件 102
4.3.5 install.extra文件 103
4.3.6 移植实例 103
4.4 tos目录 107
4.4.1 platforms目录 107
4.4.2 chips目录 110
4.4.3 lib目录 111
4.4.4 移植实例 112
4.5 doc目录 113
4.6 apps目录 113
小结 114
练习 114
第5章 TinyOS应用开发 115
5.1 概述 116
5.2 TinyOS编程方法 116
5.3 串口通信 117
5.3.1 串口配置 117
5.3.2 通信帧格式 118
5.3.3 相关组件及接口 118
5.3.4 串口编程 130
5.4 射频通信 134
5.4.1 主动消息概述 135
5.4.2 相关组件及接口 135
5.4.3 点对点传输 139
5.5 ADC信息采集 144
5.5.1 相关组件及接口 144
5.5.2 光敏信息采集 145
小结 149
练习 149
第6章 TinyOS网络协议 150
6.1 概述 150
6.2 分发路由协议 151
6.2.1 相关接口和组件 151
6.2.2 分发协议的实现 152
6.3 汇聚型路由协议 157
6.3.1 概述 157
6.3.2 相关接口和组件 158
6.4 CTP协议的实现 163
6.4.1 CTP协议概述 163
6.4.2 CTP协议实例 171
小结 176
练习 176
实 践 篇
实践1 TinyOS概述 178
实践指导 178
?实践1.G.1 178
?实践1.G.2 192
实践2 nesC语言基础 193
实践指导 193
? 实践2.G.1 193
?知识拓展 196
实践3 平台移植 197
?实践指导 197
实践3.G.1 197
实践4 TinyOS应用开发 207
实践指导 207
?实践4.G.1 207
?知识拓展 220
实践5 TinyOS网络协议 221
实践指导 221
?实践5.G.1 221
?知识拓展 229