<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > CC2430單片機的TinyOS移植(windows平臺)

          CC2430單片機的TinyOS移植(windows平臺)

          作者: 時間:2016-11-28 來源:網絡 收藏
          CC2430單片機TinyOS移植windows平臺)_柘林的石老人_新浪博客

          注:如果對CC2430和TinyOS不甚了解,請?zhí)^這篇文章

          本文引用地址:http://www.ex-cimer.com/article/201611/322869.htm

          本文發(fā)表在PSYcHic

          原文地址為:如需轉載請保留這個網址 謝謝!

          現在國內做WSN研究的人越來越多了。在硬件方面,我們國內不像國外那樣擁有很多硬件開發(fā)平臺可以供我們選擇。而且,crossbow的專業(yè)開發(fā)平臺價格非常昂貴。不過隨著越來越多的公司開始關注WSN,zigbee,我們現在還是有可能在千元之內就搭建出來一套自己的無線傳感器開發(fā)系統。

          CC2430是現在較為理想的硬件平臺。在國內,大多數人還是使用IAR結合z-stack協議棧(或者是變種的xx龍版)進行開發(fā)。z-stack協議棧開發(fā)比較簡便,很適合新手使用。但是如果你是搞學術研究,需要深入研究組網及相關算法開發(fā)的話,那么UC Berkely的TinyOS才是最佳的選擇。(我相信聰明的人不會去淌z-stack的OSAL的渾水吧….)

          很多人已經成功將TinyOS移植到了CC2430上了。但是目前在網上似乎找不到有比較詳細操作步驟的文章。那么我來給大家科普下吧:)

          —-

          首先,我們要往CC2430上移植的是TinyOS 2.x版本。如果你英文好的話直接前往下面這里查看相關資料

          TinyOS2.x for 8051目前支持三種編譯器——Keil,IAR,sdcc 我們采用的編譯器是Keil——這個大家都比較熟悉。TinyOS 2.x 是必須在Linux平臺下才能工作的,而Keil則是一個windows下的軟件,所以我們必須要先安裝一個在windows下面模擬linux的軟件——Cygwin。

          硬件:CC2430節(jié)點,仿真器

          軟件:Cygwin,Keil,TinyOS 2.x,一些相關的環(huán)境設置包,SmartRF04 Flash Programmer

          硬件就是原來在IAR下能正常使用的CC2430開發(fā)硬件就OK(不管是無線龍的,華凡的,微骨的都行)

          軟件我需要說下:

          TinyOS 2.x : 請到這里下載最新版本 (本文是根據 26 Oct 2008 這個版本進行的介紹)

          Keil:請安裝好,記住一定要安裝沒有2K限制的版本。

          0、安裝Keil ——Keil是現在單片機開發(fā)必備的軟件了,網上資料一大堆,我就省略了。自己安裝好就可以了。

          1、安裝Java 1.5 JDK

          下載地址

          如果你做Java開發(fā),以前安裝過的話就可以跳過這一步了。

          2、安裝Cygwin

          請安裝TinyOS推薦使用的版本。不少人在后面遇到各種詭異的問題就是因為Cygwin安裝不當,缺少一些必要的組件。

          你可以去:

          下載這個版本的Cygwin。

          如果鏈接失效,請前往TinyOS官方的wiki尋找其推薦的Cygwin版本:

          安裝過程很簡單,一路next下去就OK,不過請記住你安裝的位置。本文默認是安裝到C盤下。

          3、下載TinyOS開發(fā)必備的編譯工具的安裝包(一共4個)

          NesC編譯工具:

          TinyOS相關工具:

          4、啟動Cygwin,并在Cygwin下安裝上面下載好的rpm包

          雙擊圖標即可啟動Cygwin。 正常啟動后應該會有”$”標識符和光標。

          我們要安裝rpm包,就要首先切換到rpm包存放的目錄下。如果你熟悉Linux,那么自己安裝就行。如果不是的話,按照我所說的一步一步來。

          1)首先找到你安裝Cygwin的目錄,如果是默認安裝的話就是C:Cygwin

          2)進入目錄,發(fā)現里面有/bin /var /etc /opt /home等文件夾,Linux系統下的根目錄就是這個樣子啦。

          我們雙擊home文件夾,發(fā)現里面又有另外一個文件夾,起的是你安裝時設置的用戶名稱,假設你叫做quake(請?zhí)鎿Q為你自己的用戶名)。現在進入C:Cygwinhomequake下面

          好了,當我們一啟動Cygwin,程序的終端窗口默認也是停留在/home/quake下面。下面我們需要把剛剛下載的4個rpm包拷貝到C:Cygwinhomequake這個文件夾下面。

          之后在Cygwin終端下輸入

          ls

          按回車后,你會發(fā)現終端的窗口里顯示了你剛剛拷過去的rpm包的名字。(更多Linux bash命令請參考Linux資料)

          下面需要一個一個安裝

          輸入

          rpm -ivh nesc-1.3.0-1.cygwin.i386.rpm
          rpm -ivh tinyos-tools-1.3.0-1.cygwin.i386.rpm
          rpm -ivh tinyos-deputy-1.1-1.cygwin.i386.rpm
          rpm -ivh tinyos-2.1.0-1.cygwin.noarch.rpm

          每輸入一行,按一次回車,我們就把對應的rpm包給安裝好啦。把4個rpm包都安裝好后就可以進行下一步了。

          5、安裝TinyOS 2.x

          將下載好的TinyOS 2.x的安裝包給解壓縮(如TinyOS8051wg-0.1pre4.tgz),解壓縮用winrar就可以。

          將解壓好的tinyos-2.x-contrib這個文件夾拷貝到C:Cygwinopt 下

          好了。我們已經把TinyOS的開發(fā)環(huán)境基本搭建好了。

          下面我們實際編譯個程序吧!

          首先在Cygwin下面輸入

          cd /opt

          ls

          你可以看到opt目錄下有你剛剛拷貝過去的tinyos-2.x-contrib文件夾,繼續(xù)輸入

          cd tinyos-2.x-contrib/

          我們查看下該目錄下面有什么

          ls

          發(fā)現有個diku文件夾

          下面輸入

          source diku/env

          說明:diku文件夾下面有個env配置文件,我們通過source 命令加載下,這樣后面編譯的時候編譯器就知道我們要使用什么樣的配置去編譯了。關于env配置文件的具體內容稍后介紹。我們用Keil編譯,保持其默認狀態(tài)就可以了。

          之后我們就可以編譯了,所有的例子在tinyos-2.x-contrib/diku/common/apps/下面,我們以BlinkNoTimerTask為例

          輸入

          cd /diku/common/apps/BlinkNoTimerTask

          make cc2430em

          如果一切正常的話,你會看到:

          GENERATING INTEL HEX FILE: app.hex
          compiled BlinkNoTimerTaskAppC to a cc2430em binary
          Code size of app.o
          MODULE INFORMATION:STATIC OVERLAYABLE
          CODE SIZE=635—-
          CONSTANT SIZE=—-—-
          XDATA SIZE=49
          PDATA SIZE=—-—-
          DATA SIZE=—-—-
          IDATA SIZE=—-—-
          BIT SIZE=—-—-
          Total sizes
          Program Size: data=9.0 xdata=10 const=0 code=694

          這段話,這表明你已經成功了!~

          好了,下面我們看看TinyOS生成了什么吧~

          C:cygwinopt inyos-2.x-contribdikucommonappsBlinkNoTimerTaskuildcc2430em

          這個目錄下面

          我們發(fā)現了其編譯生成的app.hex文件。現在只要把這個文件燒錄進單片機,我們就大功告成了!

          我們安裝下SmartRF04 Flash Programmer這個軟件,這個軟件一般購買仿真器的話都會在附送的光盤里面贈送,如果沒有的話網上搜索下吧,實在沒有給我發(fā)信索取下。

          之后我們插好仿真器,打開SmartRF04 Flash Programmer這個軟件,在system-on-chip的選項卡下

          將hex文件選擇為我們剛剛編譯好的那個,之后選擇“Perform actions”就可以順利燒寫了:)

          好了,如果一切正常,那么恭喜你已經將TinyOS成功移植到了CC2430上了。我們成功擺脫了IAR不斷升級的困擾和Z-stack,已經進入到了TinyOS的世界了。




          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();