2022年tinyos编译环境搭建 .pdf
将 Tinyos2.x 移植到 cc2530 编译环境的搭建流程:在 windows 下建立 cygwin 平台,并搭建Tinyos 的编译环境,然后将基于Tinyos 的应用程序编译成 hex 文件,通过仿真器下载到cc2530片子上运行。原材料:硬件(cc2530节点,仿真器等) 、软件( Cygwin ,Keil ,TinyOS 2.x ,编译环境配置软件包,SmartRF04 Flash Programer 等) 。注意:硬件是原来在IAR 下能正常使用的CC2530开发硬件就OK 声明:一里面很多东西我借鉴了网上的资料,并写在后面的参考文献中。并对一些内容进行了修改和强调,以及我遇到的一些问题的解决方法。= = = = = = = = = = = = = = = = = = = = = = 1安装 Keil (Keil uVersion4 )这些资源网上很多,百度和谷歌都可以搜到(注: 一定要下载keil uVersion4, 不可以下载 4以下的版本,因为要运行的是cc2530,4以下的版本会找不到相关的编译平台环境)2安装 java 1.5 JDK 我开始用 1.6了的,反正一直没成功,不知道是不是这个原因。最好就用1.5这个版本吧。安装完了在命令行中: java verson ,出现 “java version “1.5.0 ”表示是 1.5版本了。3安装 Cygwin (1)下载Cygwin,我是在这里下载的:http:/ Setp 2: Install Cygwin 中第一步有个cygwin-files.zip ,点击即可下载。这个地址好像也可以下载:http:/cone.informatik.uni-freiburg.de/people/aslam/cygwin-files.zip(2)安装时先解压下载的cygwin, 点击 setup.exe即可,默认安装在c 盘下。选项基本上不用变,都是默认选项: ”install from Local Directory”-Root Directory: c:cygwin, Install for: All Users, Default Text file type: Unix/Binary-当 问 到 ”Select local Package directory”时 , 选 择 自 己 解 压 的cygwin目 录 即 可 , 如 :“D:/cygwin -files”,最后等一会时间即可完成安装。(3)启动桌面上的Cygwin 快捷图标, cygwin 第一次运行会设置一些东西,并创建一个home 目录,里面创建了一个用户,名为windows 系统的用户名。注意:此时自己在cygwi 菜单 n根目录下创建一个opt 目录,后面会用到。 (如果你安装cygwin 后有这个目录就不同了,反正我安装后没有这个目录,后面的操作会在这个目录下自动放置一些文件)4下载 Tinyos 开发必备的编译工具的安装包(共4个)NesC 编译工具: nesc-1.3.0-1.cygwin.i386.rpmTinyOS 相关工具:tinyos-deputy-1.1-1.cygwin.i386.rpmtinyos-tools-1.3.0-1.cygwin.i386.rpmtinyos-2.1.0-2.cygwin.noarch.rpm这些东西在这里能够找到(呵呵):http:/ 包( 1) 在 /home 目 录 下 是 你 的 主 目 录 , 我 的 是 .Adminstrator将 刚 才 的 那 4 个rpm 包 拷 贝 到homeAdminstrator 下(即 C:Cygwinhomejohn 下) ,进入到该目录:cd /home/Adminstrator,ls 一下可以看见这4个文件。(2)安装 rpm 包rpm -ivh nesc-1.3.0-1.cygwin.i386.rpm rpm -ivh tinyos-tools-1.3.0-1.cygwin.i386.rpm 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - rpm -ivh tinyos-deputy-1.1-1.cygwin.i386.rpm rpm -ivh tinyos-2.1.0-2.cygwin.noarch.rpm 每输入一次回车一下就可以了。6安装 Tinyos 2题.x (1)将下载的Tinyos 文件 “TinyOS8 051wg-0.1pre4.tgz”放到 /opt 目录下。注意检查此时该目录下应该有一个叫 “tinyos -2.x ” 的目录,如果没有前面做的有问题,而且后面的操作几乎肯定会出错。(注: TinyOS8051wg-0.1pre4.tgz 在 http:/ 可以找到下载资源)PS:这个文件夹下放置了一些编译规则文件,如:opttinyos-2.xsupportmakeMakerules文件。(2)解压 “TinyOS8051wg -0.1pre4.tgz”文件tar xvzf TinyOS8051wg-0.1pre4.tgz ,有些文章说用winrar 就可以,反正我每次这么做的时候最后都会报错,最好用前面这个tar 命令。最后在 /opt 下生成一个 “tinyos -2.x-contrib ”目录(3)设置编译环境cd tinyos-2.x-contrib ls (出现一个diku 文件夹 ) source diku/env 说明: diku 文件夹下面有个env 配置文件, 我们通过source 命令加载下, 这样后面编译的时候编译器就知道我们要使用什么样的配置去编译了。注意:每次重新启动cygwin 后如果要编译,需要运行此命令(source /opt/tinyos-2.x-contrib/diku/env )(4)编译工程文件(以BlinkNoTimerTask为例)cd /diku/common/apps/BlinkNoTimerTask make cc2430em 可能出现下面错误:cd build/cc2430em & ./startup.bat /bin/sh: ./startup.bat: Permission denied 意思是权限不够,又不知道如何在cygwin 下以超级用户登录(网上说用login 命令,我试了不怎么好使) 。我的解决办法是:进入到cc2430em 目录下,chmod 777 startup.bat,然后重新编译,反正就好用了,呵呵。我最后的结果截图如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 最后在 cc2430em 下生成了app.hex文件,如图:7烧写(1)下载并安装SmartRF04 Flash Programmer 这个软件,我用的是Setup_SmartRF04Progr_1.3.0.exe这个版本(同时我把还安装了Setup_Packet_Sniffer_2_2_0_0.exe 和 Setup_SmartRF_Studio_6_5_1.exe 这两个软件,是芯片和仿真器驱动,不知道是不是多于了)。(2)电脑 USB 跟仿真器连接,仿真器跟芯片连接好后,提示安装驱动,自动安装好后即可以用了。(3)打开 chipcon 下的 SmartRF04 Flash Programer,设置如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 注意用 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 。表示成功了,而且此时芯片上的一个小灯在不停的快速闪烁。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -