Advertisement

在Ubuntu下安装tinyos详细教程以及运行TestSerial例子出现错误解决办法

阅读量:

久未登录博客osphere,在近几日专注于无线传感器网络领域开展研究工作。由于编程中不得不使用TinyOS这一操作系统平台,在过去一周的时间里我花费了一周时间成功配置了环境:首先安装了虚拟机和Ubuntu系统;接着安装并配置了TinyOS;解决了遇到的问题;最后实现了两个节点的数据传输,并在PC端实现了显示功能。本文先记录环境配置的步骤,在下篇文章中将详细描述如何实现这两个节点的数据传输及在PC端的显示过程。值得注意的是,在虚拟机环境中安装Ubuntu系统的过程较为繁琐,在此就不赘述了;直接进入TinyOS的操作流程就比较直观明了。

配置源设置,编辑etc/apt/sources.list文件,新增一行:$ deb http://hinrg.cs.jhu.edu/kar 3 main

2. 更新源目录的包的列表:
$ sudo apt‐get update

请在终端中执行以下操作:使用sudo指令对tinyos及其相关工具进行软件安装。

可能会提示需要从多个版本中进行选择;随后我们选定其中一个版本后将进行重新安装

使用$ sudo apt-get install命令安装tinyos-2.1.1软件包

导航到/opt tslint2.1.1 目录下,并在 tinyos.sh 文件中设置该行内容为:
CLASSPATH=CLASSPATH:TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/javaio.jar

将切换到/home/yourname目录,并在该目录下的.bashrc文件中进行开发环境配置时,请在其中添加以下内容:

Configuring the tinyos environment variable setup requires specifying the path to the configuration file, which is located at /opt/yangos-2.1.1/yangos.sh.

6. 运行修改后的 bashrc 文件
$source .bashrc
Setting up for TinyOS 2.1.1

7. 运行 tos‐instal‐jni 命令
$sudo tos‐install‐jni

如果出现类似"[:31:=:unexpected operator"的错误提示,建议更换 /usr/bin/tops‐install‐jni文件的第一行为#!/bin/bash之后,重新运行相关操作。
在完成上述配置后,请执行以下命令以检查环境配置情况:$tos‐check‐env。

当遇到任何错误提示时,则会按照错误提示配置必要的软件包

当遇到相近的提示时, 表明 tinyos 安装及其编译环境配置已经完成。

Make TelosB成功完成
执行mkdir命令以创建build文件夹
将BlinkAppC编译为TelosB二进制文件
使用ncc编译选项‑O‑s‑mdisable‑hwmul‑Wall‑Wshadow‑DDEF_TOS_AM_GROUP=0x7d‑Wnesc‑all‑target=telosb‑fnesc‑cfile=build/app.c‑board=BlinkAppC.nc‑lm完成编译过程
确认已成功生成TelosB主程序至build/main.exe
Telos内存占用统计结果如下:
ROM内存空间存储了2782个字节
RAM内存空间分配了61个字节
执行msp430指令通过ihex协议从build/main.exe复制出目标Hex文件至指定路径
准备完成TelosB系统图像编写任务

在Ubuntu环境下完成TinyOS的安装后,在运行/opt/tinyos‐2.1.1/apps/tests/下的TestSerial官方示例项目时会遇到问题。具体来说,在进行mig工具操作时发现错误信息表明该工具无法自动将.h文件转换为.java文件,并且也无法生成.class文件进行编译。经过查阅资料后发现这一问题主要与ncc和gcc软件版本不兼容有关。可以通过执行ncc --version和gcc --version命令来查看nesc和gcc的具体版本信息:如果发现gcc版本为4.6而ncc版本仅为1.2.0,则会导致上述功能无法正常运行。针对这种情况,请及时更新nesc软件至最新版本以解决此问题,请参考以下链接获取详细指导:

http://hi.baidu.com/dream_go_on/item/b0b65c0f7d7114c42f4c6b61

通过上述链接获取的安装方法完成安装后,请注意查看ncc软件的版本信息已更新至1.2.4版本。此时运行TestSerial将无需担心问题不再出现。

全部评论 (0)

还没有任何评论哟~