您的位置:首页 > 理论基础

TinyOS学习笔记13-节点与计算机利用串口通信3-MIG分析

2013-01-26 16:27 603 查看
MIG:即Message Interface Generator。由于Listem程序所展示的就是2进制代码,不利于程序的编写,利用MIG即可生成和节点发送数据包相对应的信息,更有利于用户编写程序。

MIG工具拥有三个参数:利用生成代码的语言,在哪里的哪个文件去寻找的结构体,结构体的名字

在TestSerial的程序中,利用了MIG来生成对于BlinkToRadio数据包的MSg代码,当编译是会出现如下信息:

mig java -target=telosb -I%T/lib/oski -java-classname=TestSerialMsg TestSerial.h TestSerialMsg -o TestSerialMsg.java

此段即为生成TestSerialMSg.java编译时的代码

实现此段的代码在Makefile中:

COMPONENT=TestSerialAppC

BUILD_EXTRA_DEPS += TestSerial.class

CLEAN_EXTRA = *.class TestSerialMsg.java

TestSerial.class: $(wildcard *.java) TestSerialMsg.java

javac *.java

TestSerialMsg.java:

mig java -target=null -java-classname=TestSerialMsg TestSerial.h TestSerialMsg -o $@

include $(MAKERULES)

BUILD_EXTRA_DEPS += TestSerial.class:代表在编译程序之前需要先编译TestSerial.class

CLEAN_EXTRA = *.class TestSerialMsg.java:指定在用户执行make clean时清除的代码

TestSerial.class: $(wildcard *.java) TestSerialMsg.java :TestSerial.class的生成需要本目录中的所有java文件,执行完后进行编译

javac *.java

TestSerialMsg.java:

mig java -target=null -java-classname=TestSerialMsg TestSerial.h TestSerialMsg -o $@

mig:使用mig

java:建立java的class

-target=null:对于null平台来说

-java-classname=TestSerialMsg:java类的名字

TestSerial.h:结构体在的文件

TestSerialMsg:结构体的名字

-o $@ :写文件到$@,也就是TestSerialMsg.java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: