zoukankan      html  css  js  c++  java
  • ubuntu下简单移植TinyOS

    实验目的

    将TinyOS移植到CC2430芯片

     

    实验准备

    硬件:CC2430开发板一块(华凡出产),仿真器

    软件:Keil,TinyOS 2.x,TinyOS8051wg-0.1pre4.tgz,SmartRF04 FlashProgramer

    其它:在做实验之前请确保你已经正确安装了TinyO-2.1.1及其它工具。具体安装步骤可以参考网上资料。

     

    实验步骤

    ----------------------------------------------------------------------------------------------------------------------

    步骤1:安装Keil

    (1) 由于是在linux系统下,所以需要安装wine来运行.exe文件。在终端运行

    Sudo apt-get install wine 装完之后就可以安装keil。

    (2) 把keil解压出来后,复制C51V900.exe等有用的文件到其它目录下。(给个下载无限制版的keil链接:

    http://www.picavr.com/upload/2009_07/Keil%20C51%20V8.09%20%e6%b1%89%e5%8c%96%e7%a0%b4%e8%a7%a3%e7%89%88.rar)

    然后在终端中运行

    WINEPREFIX=/root/.wine.keil wine C51V900.exe

    (3) 在安装完成后,一般情况下会在桌面上有keil的图标。参看其属性里头有提示运行的命令,并在终端运行Keil

    WINEPREFIX="/root/.wine.keil" wine C:\\Keil\\UV3\\UV3.EXE

    (4) 剩下的工作就是破解软件的工作了。

     

    步骤2:安装tinyos-2.x-contrib

    在安装了TinyOS-2.1.1后/opt目录下应该有tinyos-2.1.1目录。接着TinyOS8051wg-0.1pre4.tgz下载链接(http://www.tinyos8051wg.net/download)

    将其放到/opt目录下,接着输入如下命令对该文件解压缩

    cd /opt

    tar –xvzf TinyOS8051wg-0.1pre4.tgz

    此时会在/opt下生成一个tinyso-2.x-contrib目录。

     

    步骤3:修改环境变量

    在 tinyos-2.x-contrib/diku目录下有个env 文件,该文件包含了要设置的环境变量,根据需要修改,由于现在用的是tinyos-2.1.1版本,所以/opt目录下原有的tinyos-2.x目录已 经被tinyos-2.1.1取代,所以需要修改TOSROOT,改成:

    TOSROOT = /opt/tinyos-2.1.1否则提示找不到makerules文件。

    此外,由于我们使用的是keil编译器中,所以编译器选项要选择keil export MCS51_COMPILER = keil。在修改完之后source一下env使环境变量有效。

    注意: (1) 每次重新启动后如果需要编译,需要运行此命令(source /opt/tinyos-2.x-contrib/diku/env)

    (2) 命令不能是 source env。因为env系统默认是目录。

     

    步骤4:编译工程

    编译工程文件(以BlinkNoTimerTask为例)

    cd /diku/common/apps/BlinkNoTimerTask

    make cc2430em

    如果出现如下错误

    Z:/opt/tinyos-2.x-contrib/diku/common/apps/BlinkNoTimerTask/build/cc2430em>C:/Keil/C51/BIN/A51.EXE "startup.a51" SET (SMALL) DEBUG EP
    File not found

    make: *** [build/cc2430em/startup.OBJ] 错误 49

    说明keil安装路径错误,按步骤2重新安装。TinyOS默认的keil安装路径是$(HOME)/.wine.keil,确保路径正确。

    如出现***ERROR L257:EXTENDED LINKER REQUIRES UPGRADE TO PK51那么很可能是破解没有成功。重新安装Keil,并且使用keygen破解。

    其他错误代码可参考ARM INFOMATION CENTER,

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11370.html

    最后如果编译成功的话,就会生成hex文件,在/build/cc2430em下。

     

    步骤5烧写

    (1)下 载并安装SmartRF04 Flash Programmer这个软件

    (2)电脑USB跟仿真器连接,仿真器跟芯片连接好后,提示安装驱动,自动安装好后即可以用了。

    (3)打开chipcon下的SmartRF04 Flash Programer,设置如下:

    注 意用System-on-Chip => Flash iage选择刚才编译好的app.hex文件 => 点击Read IEEE, 然后Write IEEE => 勾选Retain IEEE address when reprogramming => Action中选择第二个Erase,program and v… =>最后点击Perform actions,出现Erase,program and verify OK。表示成功了,而且此时芯片上的一个小灯在不停的快速闪烁。

    ----------------------------------------------------------------------------------------------------------------------

     

     

    参考文献:

    http://www.61ic.com/Article/MSP430/ZigBee/201109/37132.html

    http://nmgzhangw.blog.163.com/blog/static/113896136201024305967

    http://www.tinyos8051wg.net/install

     

  • 相关阅读:
    何谓算法
    大规模Web服务开发技术
    什么是依赖,什么是抽象
    智能Web算法
    算法评测
    好代码、坏代码之四
    SVN server setup 1
    Python正则表达式操作指南(re使用)(转)
    rpm package installation
    mysql install error:Make had returned bad status, install seems impossible
  • 原文地址:https://www.cnblogs.com/dudu1990/p/2672415.html
Copyright © 2011-2022 走看看