资料
  • 资料
  • 专题
基于Tinyos0.6的BLINK程序源码分析
推荐星级:
类别: 消费电子
时间:2020-01-16
大小:107.56KB
阅读数:215
上传用户:rdg1993
查看他发布的资源
下载次数
0
所需E币
5
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
基于Tinyos0基于 TinyOS 0.6 的 BLINK 程序源码分析 TinyOS 是 UC Berkeley 开发的专门针对传感器网络节点的微型嵌入式操作系统。早期的版 本采用的是 C 语言,后来逐渐过渡到了 nesC(Network-Embeded-System-C)。由于 nesC 采用 的基于组件的程序设计思想,不便于对内部实现机制的研究,因此这里采用了 C 语言版本 的 TinyOS 及其应用来进行讨论。虽然形式上有所不同,但是一旦理解了内部的实现原理和 机制,那么过渡到 nesC 也将是十分自然的。这就好比是精通了 DOS 和 WIN3.1 的人,如果 现在要转移到 WINDOWS98 及以后的平台,将会十分的顺畅,而且比直接学习 WINDOWS 要能够更加深刻的理解 WINDOWS 的设计理念。 由于 TinyOS 的内核实在是非常的小,一共只有短短数百行代码,我们这里采用了结合应用 的方式来进行分析。着重理解 TinyOS 的系统结构,包括任务调度,硬件驱动以及源代码级 的模块划分。 需要具备的知识非常简单:精通 C 语言和模块设计的思想,对于 MAKE 的原理和思想有一 定深度的理解,具备基本的嵌入式开发的知识。 这里,我选择了 David Culler 教授经典的 BLINK 应用来进行分析。虽然很简单,但是如果 仔细分析,思考,仍然可以从中窥探到 TinyOS 应用系统设计的精华。 BLINK 应用的文件目录结构 由于考虑到了运行时的效率和程序空间占用率,TinyOS 系统采用了静态编译链接的方式。 但是, 仍然做到了非常良好的模块的划分。 采用的最主要的手段就是预编译时进行的宏替换, 以及在预编译之前调用 perl 脚本根据描述文件生产一些 C 编译需要的头文件,来完成 C 模 块之间的通信工作。可以说,这是一个设计十分优良的系统。 所有的平台无关的模块的源文……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书