• 一步步教你搭建TinyOS2.1.2开发环境



    (本教程使用的是VirtualBOX +ubuntu14.04+tinyos2.1.2

    note:看了非常多的tinyos的安装教程。区别不是非常大,无非就是安装编译器配置环境等。尽管简单,但还是有非常多问题在里面。

    建议大家使用虚拟机安装,由于虚拟机执行在主机上。全然独立。虚拟机里面的全部操作不会影响主机,即使虚拟崩溃了。

    windows相对对ubuntu来说,windows的硬件驱动由于是商业化的所以做的比較完好,各种优化策略也比較好。虚拟机推荐大家使用VirtualBOX
    VirtualBOX 短小精悍,功能比較强大。安装文件比較小,仅仅有几十MB,系统资源占用比較少。

    当然你也能够使用vmware。


    安装虚拟机和ubuntu相信大家已经非常熟悉了,假设还没有安装请看这个教程:
    好。以下我们正式開始搭建tinyos的开发环境


    步骤1:

    假设你曾经没有安装过tinyos能够跳过这个步骤。假设你曾经安装的是老的版本号的tinyos(像2.1.1版本号)那么你必须卸载掉有关tinyos的文件以及GCC-430的编译器以及工具等。 卸载流程例如以下:打开终端(ctrl+alt+t)输入下面命令:卸载tinyos老的版本号:

    sudo apt-get remove tinyos-2.1.1

    卸载gcc-msp430编译器:

    sudo apt-get autoremove --purge msp430*

    通过这两步就把你曾经老版本号的tinyos卸载掉了

    步骤2:
    在ubuntu的package list file加入源。

    这个命令使用的是gedit编辑器。当然你也能够使用vim等

    sudo gedit /etc/apt/sources.list

    以下把以下代码加入到sources.list里面。保存,退出

    # TinyOS Repository
    deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main

    如今运行下面命令更新安装新版本号的tinyos

     sudo apt-get update

     sudo apt-get install tinyos-2.1.2

    如今tinyos的基础工作已经做好,接下来就是完毕配置以及安装对应的编译器就可以。

    步骤3

    改变tinyos目录的全部权,才干完毕后面的配置:

    命令例如以下:

     sudo chown your_user_name:your_user_name -R /opt/tinyos-2.1.2/

    sudo chown your_user_name -R /opt/tinyos-2.1.2

    进入到tinyos-2.1.2文件夹下检查是否有tinyos.sh文件,假设没有新建这个文件并加入下面代码

    #! /usr/bin/env bash
    # www.ElectronicsPub.com
    # TinyOS 2.1.2 Configuration Guide
    # Here we setup the environment
    # variables needed by the tinyos 
    # make system
    
    echo "Setting up for TinyOS 2.1.2"
    export TOSROOT=
    export TOSDIR=
    export MAKERULES=
    
    TOSROOT="/opt/tinyos-2.1.2"
    TOSDIR="$TOSROOT/tos"
    CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java
    MAKERULES="$TOSROOT/support/make/Makerules"
    
    export TOSROOT
    export TOSDIR
    export CLASSPATH
    export MAKERULES

    接下来我们配置环境变量。使用下面命令打开bash.bashrc

    sudo gedit ~/.bashrc

    在最以下加入以下代码:

    # Start TinyOS environment pathing
    export TOSROOT=/opt/tinyos-2.1.2
    export TOSDIR=$TOSROOT/tos
    export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.$CLASSPATH
    export MAKERULES=$TOSROOT/support/make/Makerules
    export PATH=/opt/msp430/bin:$PATH
    source /opt/tinyos-2.1.2/tinyos.sh
    # End TinyOS pathing

    用下面命令运行更改:

    source ~/.bashrc

    步骤4

    安装java

    cd $TOSROOT/support/sdk/java

    sudo tos-install-jni

    make

    make install

    假设是第一次安装tinyosMSP430一些工具会通过tinyos的安装自己主动安装。能够通过下面命令检查:

    msp430-gcc --version

    假设提示:command not found or msp430 compiler is not installed 请依照步骤5安装msp430-gcc编译器。或者提示已经安装了这个编译器可是版本号在4.6.3下面。你也须依照步骤5安装。

    假设提示:如今编译器版本号已经是4.6.3,那么能够尝试使用tinyos提供的demo进行试验了。

    步骤5

    卸载老版本号的msp430-gcc 使用下面命令

    sudo apt-get autoremove --purge msp430*

    加入keys

    gpg --keyserver keyserver.ubuntu.com --recv-keys 34EC655A 

    gpg -a --export 34EC655A | sudo apt-key add -

    加入源:方法像依照步骤2那样加入。 在sources.list 里加入下面代码:

    # TinyOS MSP430 GCC Compiler Repository
    deb http://tinyprod.net/repos/debian squeeze main
    deb http://tinyprod.net/repos/debian msp430-46 main</span>

    运行下面命令完毕安装:

    sudo apt-get update

    sudo apt-get install msp430-46 nesc tinyos-tools

    如今环境就搭建好了。能够使用下面命令检查一下

    tos-check-env

    该命令可以检查出tinyos环境中绝大多数的配置情况。

    以下进行试验。以telosb为例,将telosb节点插入计算机USB口。为虚拟机分配USB设备。

    检查port与port名称可使用下面命令:

    motelist 

    回复类似于这样说明已经连接好了

    Reference  Device           Description 
    ---------- ---------------- ---------------------------------------------
    A800J7PW   /dev/ttyUSB0     FTDI FT232R USB UART 

    Blink 为例,首先要进入到Blink文件夹下,能够使用下面命令:

    /opt/tinyos-2.1.2/apps/Blink

    编译:

     make telosb

    系统给出回应

      root@asus:/opt/tinyos-2.1.2/apps/Blink# make telosb   
    mkdir -p build/telosb 
        compiling BlinkAppC to a telosb binary  
    ncc -o build/telosb/main.exe  -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all -target=telosb -fnesc cfile=build/telosb/app.c -board= -DDEFINED_TOS_AM_GROUP=0x22 -DIDENT_APPNAME="BlinkAppC"DIDENT_USERNAME="root" -DIDENT_HOSTNAME="asus" -DIDENT_USERHASH=0x902b0604L -DIDENT_TIMESTAMP=0x53ba1c44LDIDENT_UIDHASH=0x89c7fff1L  BlinkAppC.nc -lm
        compiled BlinkAppC to build/telosb/main.exe
                2538 bytes in ROM 
                  56 bytes in RAM 
    msp430-objcopy --output-target=ihex build/telosb/main.exe build/telosb/main.ihex
        writing TOS image

    下载程序。运行下面命令:

    make telosb install bsl,/dev/ttyUSB0 

    最后提示

    cp build/telosb/main.ihex build/telosb/main.ihex.out 
        installing telosb binary using bsl    
    tos-bsl --telosb -c /dev/ttyUSB0 -r -e -I -p build/telosb/main.ihex.out 
    MSP430 Bootstrap Loader Version: 1.39-goodfet-8  
    Mass Erase... 
    Transmit default password ...
    Invoking BSL...    
    Transmit default password ... 
    Current bootstrap loader version: 1.61 (Device ID: f16c)
    Changing baudrate to 38400 ...
    Program ...
    2598 bytes programmed. 
    Reset device ...    
    rm -f build/telosb/main.exe.out build/telosb/main.ihex.out

    你会看到三个led交替闪烁!

    tinyos学习之旅開始啦!

    //***************************************

    //Email:912293097@qq.com

    //***************************************


  • 相关阅读:
    Redis之使用python脚本监控队列长度
    ELK之filebate收集日志传递至Logstash
    [转] SOLID五大设计原则
    [转] 面向对象原则之GOF是招式,九大原则才是精髓
    [转] (CQRS)命令和查询责任分离架构模式(一) 之 什么是CQRS
    [0] 四色原型
    [0] C#软件项目版本号的命名规则及格式介绍
    [0] AssemblyInfo.cs文件介绍
    [0] 服务器 TCP 提供程序无法在 [ 'any' <ipv4> *] 上侦听。TCP 端口已在使用中。
    [0] C#异常种类
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6848146.html
Copyright © 2020-2023  润新知