TinyOS下的makefile(持续更新)

本文介绍了TinyOS环境下,针对Mica2等节点遇到的无法接收消息问题,原因是未定义预处理器符号CC1K_DEFAULT_FREQ。提供了两种解决方案:通过命令行添加编译选项或修改Makedefaults文件持久设置。详细阐述了每种方法的实施步骤及注意事项,便于理解和操作。
摘要由CSDN通过智能技术生成

背景知识:

节点 主要由 微处理芯片  和 无线射频芯片 组成
Mica2:        Atmega128L        CC1000
Micaz:        Atmega128L        CC2420
telos:          MSP430               CC2420

芯片代码存于tos/chips目录或平台子目录里。一个平台通常有一个.platform文件,其中包含有nesC语言的编译选项。例如,Mica2平台的.platform文件会告诉ncc编译器在chips/cc1000和chips/atm128目录里寻找所需文件。


之前节点一直无法接收消息的原因是:未定义预处理器符号CC1K_DEFAULT_FREQ ,即没有定义CC1000无线射频芯片的默认频率。

该符号在文件/opt/tinyos-2.1.2/tos/chips/cc1000/CC1000Const.h中

具体解决方法如下:

方法1:每次make的时候,加上编译选项-DCC1K_DEFAULT_FREQ,即在某一app目录(如BlinkToRadio)下输入以下命令:

CFLAGS=-DCC1K_DEFAULT_FREQ make mica2 install.1 mib520,/dev/ttyUSB0

方法2:由于每次烤程序都需要输入一长串命令,故可在/opt/tinyos-2.1.2/support/make/Makedefaults 文件中添加如下语句:

MIB520 ?= /dev/ttyUSB0
PFLAGS = -DCC1K_DEFAULT_FREQ

PFLAGS选项定义了C语言预处理符号CC1K_DEFAULT_FREQ,并会在程序编译时传递给nesC编译器ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值