〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)
开发环境:Ubuntu13.10
1. 添加源,并安装tinyos-2.11:
sudo gedit /etc/apt/sources.list #往里边添加
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main
sudo apt-get update
sudo apt-get install -y tinyos-2.1.1
2. 安装好wine,及安装Keil:
sudo apt-get install wine #安装wine,在Linux上运行Windows程序
文件下载:Keil_C51_V8.09汉化.zip
利用wine安装好Keil_C51_V8.09,之后的编译时会使用得到;

3. 安装Ubuntu13.10编译过程中的一些依赖环境:
sudo apt-get install g++ python2.7-dev
安装jdk1.6(略过,网上搜索结果一大把)
4. 安装tinyos-2.x-contrib:
需要文件: TinyOS8051wg-0.1pre4.tgz
解压方法:
cd /opt
sudo tar zxf TinyOS8051wg-0.1pre4.tgz
5. 一些文件修改过程:
文件1:/opt/tinyos-2.1.1/support/make/sim.extra
将其中:PYTHON_VERSION=2.5
修改为:PYTHON_VERSION=2.7
将其中:PYDIR = $(shell python$(PYTHON_VERSION)-config –prefix)/usr/include/python$(PYTHON_VERSION)
修改为:PYDIR =/usr/include/python$(PYTHON_VERSION)
将其中:-L/$(PYDIR)/config
修改为:-L/bin
文件2:/opt/tinyos-2.x-contrib/diku/mcs51/support/make/mcs51/mcs51.rules
将其中:
MCS51_WINE_IAR=env WINEPREFIX=$(MCS51_WINE_IAR_PATH) LC_ALL=en_US wine
MCS51_WINE_KEIL=env WINEPREFIX=$(MCS51_WINE_KEIL_PATH) LC_ALL=en_US wine cmd /c
修改为:
MCS51_WINE_IAR=env WINEPREFIX=$(MCS51_WINE_IAR_PATH) LC_ALL=en_US; wine
MCS51_WINE_KEIL=env WINEPREFIX=$(MCS51_WINE_KEIL_PATH) LC_ALL=en_US; wine cmd /c
文件3:/opt/tinyos-2.x-contrib/diku/env
将其中:export TOSROOT=/opt/tinyos-2.x
修改为:export TOSROOT=/opt/tinyos-2.1.1
6. 编译过程:
source /opt/tinyos-2.x-contrib/diku/env
cd /opt/tinyos-2.x-contrib/diku/common/apps/BlinkNoTimerTask
make cc2430em
7. 输出结果:
8. 生成的文件展示:
[scue@Link:BlinkNoTimerTask]$ ls -1 build/cc2430em/
APP
app.c
app.hex
app.lst
app.map
app.obj
app.preMangle.c
app.reg
APP.SBR
CC2430-F128.bat
ident_flags.txt
startup.a51
startup.bat
startup.LST
startup.OBJ
9. 烧写至开发板(这一步要在Windows上操作,可使用虚拟机):

需要工具: Setup_SmartRFProgr_1.9.0.exe
安装好之后,操作步骤:
1). System-on-Chip:要显有设备,不显示则下载驱动:
2). Flash image路径:选择好刚刚编译出来的app.hex文件;
3). 点击Read IEEE,并勾选:Retain IEEE address when reprogramming the chip
4). Actions:勾选第二项的Erase, program and verify
5). 最后点击"Perform actions",完成刷入;
参考文档:
1. http://www.tinyos8051wg.net/install#toc15
2. http://hi.baidu.com/sendoc/item/ed7b2e351cc1d3c42e8ec2a0
3. http://www.cnblogs.com/yixiaoyang/archive/2010/12/30/1922548.html
4. http://blog.sina.com.cn/s/blog_4774da410100faam.html
5. http://blog.csdn.net/xiaobaicaihaochi/article/details/9170991
6. http://www.linuxidc.com/Linux/2011-09/42435.htm
〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)的更多相关文章
- 〖Linux〗zigbee实验之cc2430的cc debugger固件升级实录
开发环境:Windows XP 1. (Trouble)一开始,使用IAR提示此设备不可使用(意味着无法下载程序): 2. (Search)通过一番的仔细查找,发现是cc debugger的Evalu ...
- 〖Windows〗zigbee实验之cygwin编译TestSimpleMac并测试通信
1. 开发环境及工具: 1) cygwin安装包下载地址:cygwin-files.zip >>安装时选择本地目录(Select local Package directory),其 ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,日本再战!)
linux 3.4.103 内核移植到 S3C6410 开发板 这个星期差点儿就搭在这里面了,一開始感觉非常不值得,移植这样的浪费时间的事情.想立刻搞定,然后安安静静看书 & coding. ...
- LINUX为什么要进行内核移植 内核移植的作用
LINUX为什么要进行内核移植 内核移植的作用,不移植能用么? LZ的问题应该是为什么要重新编译内核吧.既然你已经可以跑了,证明你现在用的内核已经移植到你用的硬件上,自然你也不需要做什么移植.通常 ...
- Linux系统实验
前言:怎么感觉Linux运维和Linux系统实验没什么关系?该不会的还是不会(@@).记录一下几个实验吧. 本篇目录: 实验一 编程环境 实验二 文件读写 实验三 进程通信 实验一 编程环境√ 实验步 ...
- 20145219 《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)实验报告
20145219 <Java程序设计>实验一 Java开发环境的熟悉(Windws + IDEA)实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA 编辑. ...
- JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!) 1.文件准备: 服务器:CentOS Linux release 7.3.1611 (Core) Apa ...
- 〖Linux〗Ubuntu13.10中使用虚拟机对MTK手机进行线刷
最近一个同学把一台MTK手机刷坏了,在我的笔记本电脑上没有WindowsXp操作系统: 而在MTK线刷过程中,最好的刷机系统便是WindowsXP3,于是有了想在Linux中直接开启XP虚拟机来刷机的 ...
随机推荐
- Monotouch/WCF: How to consume the wcf service without svcutil
Becuase monotouch compile to native code, so it has some limitation such as dynamic invoke is not al ...
- MVC到底使用哪种方式传递Model,在ViewData、ViewBag、PartialView、TempData、ViewModel、Tuple之间取舍
在"MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple"中,体验了使用不同的方式传递多 ...
- java四舍五入保留两位小数4种方法
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- key-value 多线程server的Linux C++实现
项目需求 整体思路 网络通信 字符解析 数据存储与查询 1 存储管理 2 数据查询 多线程 待改进未实现的想法 GitHub源代码 项目需求 设计一个基于Socket或基于HTTP的server,服务 ...
- C#常使用的正则表达式
/// <summary> /// 是否为手机号码 /// </summary> /// <param name="value"></pa ...
- Cesium随笔(5)CZML介绍(介个文章是转的嘿嘿)【转】
通过czml可以在cesium上实现非常棒的动态效果 (1)Cesium Language (CZML) 入门--CZML Structure(CZML的结构) 原文地址:https://github ...
- 开发winform程序,在拖拽控件大小时,VS会卡死
你可以看看你最近有没有装什么新的软件,比如说:有道词典就会与VS有冲突,导致卡死,可以把进程关闭.
- 你应该抓紧学习Python,它是开发Web应用最强大的语言
Python和少数几种编程语言,如MySQL.Perl.PHP和与LAMP打包的网络结构一起的Apache,已经成为Linux的一个基本组件.即 使从它诞生开始,Python就与其他动态编程语言如Ru ...
- 20个令人惊叹的音乐应用程序UI,值得收藏
我们无法想象世界上没有手机.他们已经成为日常生活中不可缺失的一部分.今天的手机可以让你不只是拨打电话和发送消息.它可以让你浏览网页空间,拍照,看书,听音乐等等. 回顾一下互联网,你会看到不同的音乐AP ...
- linux的子进程调用exec( )系列函数
exec( )函数族 : 以下我们来看看一个进程怎样来启动还有一个程序的运行.在Linux中要使用exec函数族.系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其參数包含文件名称 ...