Ubuntu下将TinyOS移植到CC2430芯片
Ubuntu下将TinyOS移植到CC2430芯片
实验目的
将TinyOS移植到CC2430芯片
实验准备
硬件:CC2430开发板一块,仿真器(debugger)
软件: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。(wine安装路径是~/.wine 另外~ 代表的是$HOME路径。.wine代表隐藏文件,在GNOME显示隐藏文件的操作是CTRL +h)
(2)
A.
在安装前,先在终端中设定WINEPREFIX路径(模拟windows环境下C盘路径)如下,
在终端中输入:WINEPREFIX=~/.wine.keil
为什么设定的是/.wine.keil 而不是/.wine?是因为Tinyos 中调用Keil使用的默认路径是/.wine.keil,为方便,将安装路径和Tinyos设定路径保持统一
B.
紧接,用cd命令,把当前工作路径切换到有Keil安装执行文件(若安装文件名为Setup.exe)的路径。
然后在终端中输入: WINEPREFIX=~/.wine.keil wine Setup.exe
一直默认安装,其中其安装路径默认设置为C:Keil。(PS wine是模拟windows环境,默认情况下C:映射成/.wine/dirve_c,这样两个不同的系统就互相联通)
(3) 剩下的工作就是破解软件的工作了。
步骤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),要不然系统会提示,没有make有效目标
(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,确保路径正确。(此处问题最多,只要能通过正确安装,出现$(HOME)/.wine.keil/drive_c/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。表示成功了,而且此时芯片上的一个小灯在不停的快速闪烁。
Ubuntu下将TinyOS移植到CC2430芯片相关推荐
- ubuntu下移植QT基本流程
配置tftp 配置tftp服务的步骤: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install tftpd tftp xinetd 2.建 ...
- openocd调试Linux内核,Ubuntu下配置OpenOCD+FT2232
Ubuntu下配置OpenOCD+FT2232 [1]确认调试器方案 将调试器插到电脑上,lsusb看一下: Bus 003 Device 009: ID 1457:5118 First Intern ...
- linux 搭建开发stm32 stlink,Ubuntu下搭建stm32+stlink的开发环境
Ubuntu下搭建stm32+stlink的开发环境 热度 3已有 15960 次阅读2014-8-19 21:09 | 上周因为忙于别的事情,很久没切到ubuntu下了,这周继续弄了弄. 弄到了一些 ...
- linux下qt多个程序打包,解决Ubuntu下使用linuxdeployqt打包Qt程序问题
写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打 ...
- 转:Ubuntu下ibus-sunpinyin的安装及翻页快捷键设置!
在windows下,好多人都已经习惯了使用搜狗拼音,到ubuntu下,忽然没有极为顺手的输入法,实为郁闷,但是确实还没有for linux版本的搜狗使用,这是搜狗的商业策略,我们无法掌控,但是,如果你 ...
- ubuntu下安装minicom
2019独角兽企业重金招聘Python工程师标准>>> 今天看了看嵌入式系统开发,结合之前在tinyos实验中做过的一些串口通信的实验,这里看到linux下也有相关的串口通信软件.所 ...
- 安卓linux交叉编译,Linux Ubuntu下用Android NDK 生成独立交叉编译链
本文主要介绍使用Android NDK生成独立交叉编译链,然后使用独立交叉编译链编译Android程序 下载NDK 下载与自己操作系统相吻合的版本 下载地址 解压到安装目录(如~/myndk): ta ...
- 如何在Ubuntu下使用全民wifi?
最近一直想在Ubuntu下进行开发,苦于公司给的电脑不能连接wifi,如是拿了一个全民wifi(19.9元),接在电脑上,作为无线的网卡,接入网络.因为Linux没能像window提供自动驱动,所以得 ...
- Ubuntu下如何获取usb相机的PID/VID并打开指定的相机
项目需求控制和打开两个USB摄像头,并且根据相机的PID和VID来打开指定的相机,来区分主副相机,在Windows下可以通过AForge.Video.DirectShow库来实现,但是Ubuntu下没 ...
- ubuntu下安装Realtek usb无线网卡驱动(8821cu)
写在前面:电脑内置无线网卡出了些小问题,尽管可以搜到网络但是信号很弱,这不能够啊,所以先买了一款tenda u9 usb无线网卡,奈何在ubuntu上无法自动安装驱动,并且官方并不支持其在ubuntu ...
最新文章
- scanf函数详解与缓冲区
- Go -- 多个go文件包名都是main
- 作为大龄开发人员,敢问路在何方?
- linux中刻录iso到光盘
- .NET7的七项重大改进!
- 如何初始化局部变量c语言_重要的事情说三遍:局部变量一定要初始化!你做到了吗?...
- [七月挑选]Tomcat使用命令行启动之指定jdk版本
- css网页favicon_自用代码css获取任意网址的/favicon.ico的方法教程
- Groovy 转换JSON和生产JSON
- DockerKubernetes ❀ Kubernetes集群 - DashBoard服务(Web管理)安装部署
- 23个热门python爬虫项目,爬虫仍需谨慎,牢饭不是很香!!!
- 谈腾讯地图web api如何实现类似百度地图内置的城市切换、关键字输入提示功能
- 使用Matlab将多个图形Figure文件合并
- 计算机机房灭火器种类,常见灭火器的种类、适用范围以及使用方法
- 30天自制操作系统(day1)
- 搭建个人网站--域名解析(DNS)
- postgresql - SQL查询某一天内的记录
- 交换机与路由器技术-08-路由器上配置DHCP
- 《计算之魂》思考题4.3
- CF 115B. Lawnmower