〖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虚拟机来刷机的 ...
随机推荐
- axure8.1可用授权码
Licensee: University of Science and Technology of China (CLASSROOM)Key: DTXRAnPn1P65Rt0xB4eTQ+4bF5IU ...
- [MSDN] Windows Server 2012 R2 简/繁/英下载
Windows Server 2012 R2 Chinese-Simplified ISO SHA1-------------------------------------------------- ...
- 浅谈Android RecyclerView
Android RecyclerView 是Android5.0推出来的,导入support-v7包即可使用. 个人体验来说,RecyclerView绝对是一款功能强大的控件. 首先总结下Recycl ...
- 【elaseticsearch】elaseticsearch启动报错Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]
elaseticsearch启动报错 [es1] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupExce ...
- Java开发工具全面比较
1.JDK (Java Development Kit)Java开发工具集 从初学者角度来看Java开发工具,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对 ...
- 使用 CoreTelephony 框架获取当前网络运营商
CoreTelephony 获取运营商信息,需通过 CoreTelephony.Framework 中的 CTTelephonyNetworkInfo 和 CTCarrier 对象获取,这些都在iOS ...
- Android只播放gif动画
使用easygifanimator软件把gif动画打散为图片. 第一步:先上图片素材,以下素材放到res/drawable目录下: 转:http://blog.csdn.net/aminfo/arti ...
- springboot 启动类CommandLineRunner(转载)
在Spring boot项目的实际开发中,我们有时需要项目服务启动时加载一些数据或预先完成某些动作.为了解决这样的问题,Spring boot 为我们提供了一个方法:通过实现接口 CommandLin ...
- Java开发牛人十大必备网站
以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质量是衡量一个网站的关键因素,我个人认为这些网站质量都很好.接下来,我会跟大家分享我 ...
- Spark一个简单案例
Spark是一个类似Map-Reduce的集群计算框架,用于快速进行数据分析. 在这个应用中,我们以统计包含"the"字符的行数为案例,.为建立这个应用,我们使用 Spark 1. ...