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

本文详细介绍了如何使用MIG工具生成与节点发送数据包对应的MSg代码,以便于编写程序。通过示例展示了如何在Makefile中集成MIG工具,以及其在TestSerial程序中的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值