TinyOS编译过程(一)

本文记录了作者学习TinyOS编译过程的经历,包括Makefile的运行机制、目标指定方式、平台文件的使用以及相关文件的引用。文章中存在一些未解决的问题,如Tmote.target文件的引入方式等。

写在之前:

花了一段时间想弄清楚TinyOS的编译过程,但由于对Makefile的运行机制不熟悉以及不懂得perl语言,在很多地方仍然存在问题,这篇文章算是对TinyOS编译过程学习的一个记录,其中不免有错误,希望以后发现并更正。

TinyOS版本:2.1.1

假设我们编译

tinyos/apps/Blink

#make tmote
make命令的入口显然是当前目录下的文件Makefile。该文件通过

include $(MAKERULES)

引入tinyos的编译规则(在目录tinyos/Support/Make下面)Makerules;在该文件(Makerules)中有引入了同一目录下的文件MakedefultMakelocal(Makelocal并不存在);同时引入文件Tmote.target不知道是从哪里引入该文件的);该文件(Tmote.target)又有引入了同一目录下的Telosb.target文件;该文件(Telosb.target)又引入了Msp目录下的Msp.rules文件,同时包含了Msp目录下所有.target.extra文件;

问题:

1、Tmote.target文件不知道是如何引入的。

2、Makefile通过变量MAKECMDGOAL指定目标,但不知道这个是如何工作的(makefile从终端是如何接收变量,传递参数的)。

3、在目录tinyos/Tos/Platform/Telosb/下有文件.platform,不知道该文件时如何被包含,并被使用的

4、在文件tinyos/Support/Make/Makedefaults中有语句

GOALS += ident_flags tos_image tosboot

而在Make目录下有ident_flags.extra tos_image.extra tosboot.extra文件,但不知道这些文件最终是如何被引用的。

### TinyOS 下载与安装 TinyOS种专为无线传感器网络设计的操作系统,其开发环境搭建涉及多个组件的配置。对于希望获取并安装 TinyOS 的开发者而言,官方资源提供了详细的指导。 访问 TinyOS 官方网站可以找到最新的发行版本以及相关工具链[^1]。通常情况下,在官方网站上会有专门针对不同操作系统的安装包提供给用户下载。对于 Linux 和 macOS 用户来说,推荐通过源码编译的方式来设置开发环境;而对于 Windows 平台,则建议使用虚拟机或者双系统来运行支持 TinyOS 开发所需的基础环境。 除了直接从官网下载之外,GitHub 上也有维护着活跃分支的镜像仓库可供选择。这使得贡献者能够更方便地参与到项目中去,并且也为其他使用者提供了另种途径来获得最新特性或修复后的代码库[^2]。 完成下载之后,按照随附文档中的说明逐步执行安装过程即可建立完整的 TinyOS 工作空间。该过程中可能涉及到 Java Development Kit (JDK),Avr-GCC 编译器套件以及其他必要的依赖项安装[^3]。 ```bash git clone https://github.com/tinyos/tinyos-main.git cd tinyos-main ./bootstrap source source-me.sh ``` 上述命令用于克隆 TinyOS 主仓库至本地计算机,并初始化工作区以便后续开发活动顺利开展。 #### 配置环境变量 为了使命令行工具能够在任何位置被调用,还需要适当调整 shell 配置文件(如 `.bashrc` 或 `.zshrc`),加入如下路径: ```bash export TINYOS_ROOT_DIR=/path/to/tinyos-main export PATH=$PATH:$TINYOS_ROOT_DIR/support/sdk/linux/bin ``` 保存更改后重新加载配置文件以生效新的环境设定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值