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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Tinyos 2.x在cc2430上的移植成功

          Tinyos 2.x在cc2430上的移植成功

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          目的:將Tinyos2.x移植到cc2430中

          流程:在windows下建立cygwin平臺(tái),并搭建Tinyos的編譯環(huán)境,然后將基于Tinyos的應(yīng)用程序編譯成hex文件,通過仿真器下載到cc2430片子上運(yùn)行。

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

          原材料:硬件(wxlcc2430節(jié)點(diǎn),仿真器等)、軟件(Cygwin,Keil,TinyOS2.x,編譯環(huán)境配置軟件包,SmartRF04FlashProgramer等)。

          ======================

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

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

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

          —-

          介紹:

          首先,我們要往CC2430上移植的是TinyOS 2.x版本。如果你英文好的話直接前往下面這里查看相關(guān)資料http://tinyos8051wg.sourceforge.net/

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

          移植前,我們需要準(zhǔn)備的東西有:

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

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

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

          軟件我需要說下:

          TinyOS 2.x : 請到http://tinyos8051wg.sourceforge.net/download這里下載最新版本 (本文是根據(jù)TinyOS8051wg-0.1pre4.tgz26 Oct 2008 這個(gè)版本進(jìn)行的介紹)

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

          1.安裝Keil(KeiluVersion3)

          (1)注意要下載一個(gè)沒有2K限制的版本,給一個(gè)連接如下:

          http://www.picavr.com/upload/2009_07/Keil C51 V8.09 漢化破解版.rar

          (2)直接點(diǎn)擊“KeilC51V8.09漢化破解版KeilC51V8.09漢化破解版KeilC51V8.09漢化1安裝”下的安裝,完成后主要要進(jìn)行注冊,注冊參考有個(gè)注冊文件夾中的注冊說明就行了。

          (3)注意完成后在C:KeilC51BIN目錄下應(yīng)該有:C51.exe,BL51.EXE,OH51.EXE,LX51.exe,Ohx51.exe等文件,在后面進(jìn)行Tinyos工程的編譯時(shí)會(huì)用到這些文件。如果沒有,后面最后的時(shí)候幾乎肯定會(huì)出錯(cuò)。

          2.安裝java1.5JDK

          我開始用1.6了的,反正一直沒成功,不知道是不是這個(gè)原因。最好就用1.5這個(gè)版本吧。

          jdk1.5.0的下載地址
          http://java.sun.com/j2se/1.5.0/download.jsp

          安裝完了在命令行中:java–verson,出現(xiàn)“javaversion“1.5.0”表示是1.5版本了。

          3.安裝Cygwin

          (1)下載Cygwin,我是在這里下載的:http://docs.tinyos.net/index.php/Installing_TinyOS_2.0.2#Manual_installation_on_your_host_OS_with_RPMs,在Setp2:InstallCygwin中第一步有個(gè)cygwin-files.zip,點(diǎn)擊即可下載。

          這個(gè)地址好像也可以下載:http://cone.informatik.uni-freiburg.de/people/aslam/cygwin-files.zip

          (2)安裝時(shí)先解壓下載的cygwin,點(diǎn)擊setup.exe即可,默認(rèn)安裝在c盤下。選項(xiàng)基本上不用變,都是默認(rèn)選項(xiàng):”installfromLocalDirectory”->RootDirectory:c:cygwin,Installfor:AllUsers,DefaultTextfiletype:Unix/Binary->當(dāng)問到”SelectlocalPackagedirectory”時(shí),選擇自己解壓的cygwin目錄即可,如:“D:/cygwin-files”,最后等一會(huì)時(shí)間即可完成安裝。

          (3)啟動(dòng)桌面上的Cygwin快捷圖標(biāo),cygwin第一次運(yùn)行會(huì)設(shè)置一些東西,并創(chuàng)建一個(gè)home目錄,里面創(chuàng)建了一個(gè)用戶,名為windows系統(tǒng)的用戶名。

          注意:此時(shí)自己在cygwin根目錄下創(chuàng)建一個(gè)opt目錄,后面會(huì)用到。(如果你安裝cygwin后有這個(gè)目錄就不同了,反正我安裝后沒有這個(gè)目錄,后面的操作會(huì)在這個(gè)目錄下自動(dòng)放置一些文件)


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: Tinyos2xcc2430移植成

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();