原创 TinyOS学习笔记一:TinyOS组件模型

2009-5-23 14:08 3120 4 4 分类: 通信

TinyOS组件模型


基于TinyOS的应用程序通常由Main配件,应用组件,感知组件、执行组件、通信组件和硬件抽象组件构成。但有时我们会困惑:其他组件都可以找到,但Main组件呢?为什么每个应用程序都要用到它,但我们就是没见过他的身影呢?答案如下:


比如Blink.nc代码如下:


configuration Blink {


}


implementation {


  components <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Main, BlinkM, LedsC;


  Main.StdControl -> BlinkM.StdControl;


  BlinkM.Leds -> LedsC;


}


我们知道,BlinkM文件其实就是BlinkM.nc文件,他实现Blink应用的具体功能,主要包括命令、事件、任务等的具体实现。他就在Blink.nc所在的文件夹。但Main LedsC在哪呢?查询得到,原来他们都属于系统文件,都在tos/system文件夹中,打开Main.nc文件如下:


configuration Main {


  uses interface StdControl;


}


implementation


{


  components RealMain, PotC, HPLInit;


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


  StdControl = RealMain.StdControl;


  RealMain.hardwareInit -> HPLInit;


  RealMain.Pot -> PotC;


}


 


StdControl文件位于tos\interfaces中,打开如下:


interface StdControl


{


  command result_t init();


  command result_t start();


  command result_t stop();


}


至此,找到所有相关的components,根据引用关系顺序解读各个文件即可明白每个实例。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条