〖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虚拟机来刷机的 ...
随机推荐
- C#程序集系列04,在程序集包含多个module的场景下理解关键字internal
本篇在一个程序集包含多个module的场景下体验internal的含义. →查看F盘as文件夹下的文件→删除MainClass.exe→把MyFirstModule和MySecondModule组装到 ...
- MVC使用Gantt Chart实现甘特图,管理事情进度
借助"甘特图",可以直观地了解任务.活动.工作的进度.dhtmlxGantt是一个开源的Javacirpt库,能帮助我们快速创建"甘特图",本篇体验在MVC中的 ...
- MVC扩展ActionInvoker,自定义ActionInvoker,根据请求数据返回不同视图
ActionInvoker的作用是:根据请求数据(HttpPost,HttpGet等)和action名称,来激发响应的action,再由action渲染视图.本文通过自定义ActionInvoker, ...
- 字符串变量作mysql查询条件
原文:http://blog.csdn.net/qing_gee/article/details/41646503 当你的查询条件是一个字符串变量时,你该怎么办,比如字符串可能是“0001ME,000 ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- 3种方式实现KVO并进行对比
KVO KVO属于设计模式中的观察者模式,在观察者模式中,一个对象任何状态的变更都会通知另外的对改变感兴趣的对象.这些对象之间不需要知道彼此的存在,这其实是一种松耦合的设计.当某个属性变化的时候,我们 ...
- Linux下分割、合并PDF(pdftk),用于Linux系统的6款最佳PDF页面裁剪工具
Linux下分割.合并PDF(pdftk),用于Linux系统的6款最佳PDF页面裁剪工具 Linux下分割.合并PDF(pdftk) pdftk http://www.pdflabs.com/doc ...
- UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表
UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那 ...
- 【Codeforces】【#295】【Div.2】
o(︶︿︶)o 唉跪烂了…… B题由于考虑的不周全WA了3次…… C题由于#include了<cmath>,而我函数声明的是pow(LL a,LL b)但调用的时候 [没!有!把!n!的! ...
- Why游戏作品合集
之前曾经发过一个套WhyEngine游戏作品合集,里面有十几个小游戏和若干个屏保程序和若干个DEMO程序.而这次发的与上次不一样,因为这是我花了两天时间将所有的程序集成到一个工程后的成果.为了能将所有 ...