《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TinyOS在CC2530上的移植
TinyOS在CC2530上的移植
來源:電子技術應用2013年第7期
林 語1,張金榜2,何秀春1,劉 軍3
1.武警工程大學 研究生管理大隊,陜西 西安710086; 2.武警警官學院 信息工程系,四川 成都610213; 3.武警工程大學 信息工程系,陜西 西安710086
摘要: 針對TinyOS不支持CC2530平臺的問題,首先分析TinyOS移植的可行性;其次完成了Timer組件、Adc組件、Radio組件、Uart組件、I/O組件和Flash組件在CC2530上的移植;最后驗證了移植的正確性。結果表明,各組件均能正常工作,實現了TinyOS對CC2530平臺的支持。
中圖分類號: TP399
文獻標識碼: A
文章編號: 0258-7998(2013)07-0025-03
The portability of TinyOS to the chip of CC2530
Lin Yu1,Zhang Jinbang2,He Xiuchun1,Liu Jun3
1.Graduate Management Team, Engineering University of CAPF, Xi′an 710086,China; 2.Department of Information Engineering,Officers College of CAPF,Chengdu 610213,China; 3.Department of Information Engineering, Engineering University of CAPF,Xi′an 710086,China
Abstract: Aiming at the problem that the CC2530 platform wasn’t supported by TinyOS, the fessibility of TinyOS was analyzed,and then, the portability of the TinyOS component to the CC2530 was completed, which included the Timer component, the Adc component, the Radio component, the Uart component, the I/O component and the Flash component. Lastly, the correctness of portability has been verified. The results show that every component is working well. It means that TinyOS has supported the CC2530 platform.
Key words : TinyOS;CC2530;the portability of operating system

    無線傳感器網絡WSN(Wireless Sensor Network)是集傳感器、嵌入式、分布式信息處理等技術于一體的與應用相關的無結構網絡。它由大量體積較小、能源受限且具有一定計算、存儲和無線通信能力的傳感器節點組成,已廣泛應用于戰場態勢感知、遠程醫療監護、環境監測等領域。由于傳感器節點的硬件資源有限,因此,WSN節點硬件平臺及操作系統的選擇與實現是兩個重要的研究課題[1]。

    CC2530芯片是TI公司推出的用于IEEE 802.15.4的真正的片上系統解決方案。它集成了微處理器、存儲器和射頻模塊,只需要極少的外部元件就可應用于其他電路設計。CC2530具有集成度高、功耗低、體積小、成本低、電路結構簡單、接口豐富的特點,能夠滿足傳感器節點在數據采集、處理與無線傳輸時對處理器的需求,CC2530已成為無線傳感器網絡節點硬件平臺設計的首選。TinyOS(TinyMicro Threading Operation System)是一個開源微型嵌入式操作系統,是針對WSN節點硬件資源受限、并發性高等問題而量身定做的操作系統。TinyOS的代碼量小且高效,具有極其低的資源消耗,已成為WSN主流的操作系統。
    由于TinyOS還不支持CC2530,所以在該平臺上開發基于TinyOS的應用程序前,需將TinyOS移植到CC2530上,使其支持該平臺。因此,實現TinyOS在CC2530上的移植能為WSN提供更多的平臺選擇,具有重要的應用價值。
1 移植的可行性
    對TinyOS層次性的架構模型研究發現,其移植性的實現直接與硬件抽象封裝層相關,該層組件完成物理硬件到TinyOS組件模型的映射。TinyOS硬件抽象層可進一步分成如圖1所示的層次結構[2]。硬件抽象層明確了每一層的功能,每層依賴于下層提供的接口,越往上層對硬件的依賴性越小[3]。通過對TinyOS的進一步抽象,使得各層的組件可實現對物理硬件的不同程度封裝和屏蔽,有區別地實現硬件平臺和上層組件的隔離,不同層上的組件只完成特定功能,增強了TinyOS的移植性。使得TinyOS移植時只需要修改、設計相應的組件即可。

2 移植準備
2.1 修改編譯工具鏈

    TinyOS和基于TinyOS的應用程序均使用nesC語言編寫,生成以“.nc”為后綴的源文件,它經過TinyOS自帶的NCC編譯器編譯后生成app.c文件。它的部分語法與KEIL的語法不兼容,是不能被KEIL直接編譯到8051平臺上運行的,因此需要對不兼容的語法進行修改。而app.c代碼較多,人工修改不僅費時費力,而且極易出錯[4],所以本文采用perl語言編寫語法編輯腳本Mangle script來實現app.c文件與KEIL的耦合,將app.c文件轉換成app_Mangled.c文件,作為KEIL編譯器的輸入,最終生成app.hex文件。具體編譯過程如圖2所示。

2.2 搭建CC2530平臺
    搭建CC2530平臺的目的是為TinyOS組件的移植和應用程序的編譯提供編譯參數和聲明環境變量信息。搭建CC2530平臺需要以下4個步驟:
    (1)在/opt/tinyos-2.x/tos/platforms/CC2530目錄下創建.platform文件、hardware.h文件、PlatformP.nc和PlatformC.nc文件[4]。
    (2)在/opt/tinyos-2.x/support/make目錄下創建.target文件。.target文件為CC2530平臺配置編譯環境,讓TinyOS知道并支持所創建的平臺。
    (3)在/opt/tinyos-2.x/support/make/mcs51目錄下創建mcs51.rules文件。mcs51.rules的作用是解析命令參數、設置編譯路徑、提取和指向目標平臺。
      (4)在/opt/tinyos-2.x/tos/chips/mcs51目錄下創建mcs51hardware.h文件和McuSleepC.nc文件。
3 移植實現
      組件移植是TinyOS移植的核心,包括CC2530寄存器聲明和組件移植[5-6]。
3.1 創建ioCC2530.h文件
      在/opt/tinyos-2.x/tos/chips/CC2530目錄下創建ioCC2530.h文件。
3.2 組件移植
      (1)Timer組件的移植。Timer組件是一個定時器組件,其Timer接口用來觸發事件。在Timer組件移植時,先根據CC2530芯片內部定時器部分數據資料定義各層需要定制的接口和組件列表;然后用nesC語言編寫上述各層列表中定義的接口、組件的代碼和timer.h文件,并一起存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的timer文件夾中。
    (2)Adc組件的移植。Adc組件是一個具有模/數轉換功能的組件,它的AdcControl接口用來控制Adc組件的開始和關閉;Read接口提供讀取模數轉換結果的功能。用nesC語言編寫各層接口、組件代碼和Adc.h文件,并存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的adc文件夾中。
    (3)Radio組件的移植。Radio組件是TinyOS的射頻組件,提供Packet、Receive、AMSend和SpiltControl接口。Packet用來實現數據包的管理,Receive具有數據包的接收功能,AMSend具有發送數據包的功能,SpiltControl用來控制天線的狀態,負責天線的開啟和關閉。用nesC語言編寫各層接口和組件的代碼和Radio.h文件,并一起存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的radio文件夾中。
    (4)Uart組件的移植。Uart組件提供模塊組件HalCC2530SimpleUartP和配置組件HalCC2530SimpleUartC,通過Init接口實現Uart組件的初始化;通過SerialByteComm接口實現該異步串行接收和轉發的功能。用nesC語言實現各層接口和組件文件,并存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的uart文件夾中。
    (5)I/O組件的移植。I/O組件具有GeneralIO口的配置功能,可將端口配置成輸入或輸出,允許置位和清零,該功能由HplCC2530GeneralIOC組件實現,它包含了io8051.h文件和ioCC2530.h文件。用nesC語言實現各層接口和組件文件,并存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的pins文件夾中。
    (6)Flash組件的移植。Flash組件通過SimpleFlash接口實現對Flash的讀、寫和刪除操作。用nesC語言實現各層接口和組件文件,并存放到/opt/tinyos-2.x/tos/chips/CC2530目錄下的flash文件夾中。
4 移植測試
    CC2530平臺TinyOS的測試是對所移植組件的相應功能進行測試。串口傳輸設置:波特率57 600 b/s,校驗位為無,數據位為8 bit,停止位為1 bit。
    本文以Radio組件測試為例介紹對Timer組件、Adc組件、Radio組件、I/O組件和Flash組件的測試環境、測試程序、測試過程,并分析了測試結果。
    (1)測試環境。測試過程使用基于CC2530的節點2個,一個節點獨立放置,另外一個節點通過串口與PC連接,兩個節點相距15 m。
    (2)測試程序。獨立放置節點的測試程序是Radio-
SendTestApp,它在Radio組件、Timer組件初始化完成后,啟動Radio組件,定時發送數據包;與PC相連節點的測試程序是RadioReceiveTestApp,它將接收數據包并將數據包通過串口傳送至PC;PC上運行串口調試助手,觀察是否有數據上傳。
    (3)測試過程。程序編譯、下載至節點后,按復位開關,配置好串口調試工具,觀察串口調試工具的輸出。
    (4)測試結果及分析。Radio組件的測試結果如圖3所示。串口調試顯示能正常接收到數據包,表明Radio組件的移植是正確的。

 

 

    按照Radio的測試過程,對Timer、Adc、Uart、I/O和Flash組件進行了測試。結果表明,這些組件均能正常工作,實現了TinyOS對CC2530平臺的支持。
    本文針對TinyOS不支持CC2530平臺的問題,在分析TinyOS層次結構模型的基礎上,確定了移植的可行性;通過修改編譯工具鏈、搭建CC2530平臺、編寫硬件抽象層各層的組件和接口文件,完成了TinyOS在CC2530上的移植。驗證結果表明,Timer組件、Adc組件、Radioz組件、Uart組件、I/O組件和Flash組件均可正常工作。TinyOS在CC2530平臺上的移植,為其他硬件平臺的移植提供了參考,為WSN和TinyOS的研究與應用提供了更多的平臺選擇。
參考文獻
[1] 錢開國,桑楠.基于TinyOS的無線傳感器網絡操作系統移植性研究與實現[C].第二屆全國通信理論與新技術學術大會會議論文集,2008:131.
[2] HANDZISKI V,POLASTRE J,HAUER J H,et al.Flexible hardware abstraction for wireless sensor networks[C].In:Proceeding of the 2nd European Workshop on Wireless Sensor Networks(EWSN2005),Turkey,2005.
[3] 錢開國.無線傳感器網絡嵌入式操作系統的研究和應用[D].成都:電子科技大學,2010.
[4] 莊雄,楊永明,丁唯.基于CC2431的無線傳感器網絡節點設計[J].電子技術應用,2008,34(6):98-101.
[5] 李響.無線傳感器網絡節點嵌入式操作系統TinyOS的研究與移植[D].成都:電子科技大學,2008.
[6] 錢開國.無線傳感器網絡嵌入式操作系統的研究和應用[D].成都:電子科技大學,2010.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          黑人一区二区三区四区五区| 亚洲电影毛片| 一区二区三区中文在线观看| 亚洲伊人一本大道中文字幕| 性欧美在线看片a免费观看| 久久疯狂做爰流白浆xx| 欧美一区亚洲二区| 国产精品一区免费在线观看| 国产日韩专区在线| 亚洲高清av| 日韩视频一区二区三区在线播放免费观看| 欧美猛交免费看| 一区二区三区在线免费播放| 久久久久久久久久久成人| 欧美激情中文字幕乱码免费| 韩国女主播一区二区三区| 国产欧美日韩激情| 国产女人精品视频| 欧美日韩国产成人高清视频| 黄色工厂这里只有精品| 欧美片在线播放| 亚洲乱码国产乱码精品精可以看| 久久国产精品72免费观看| 一区二区激情| 一区二区三区四区五区视频| 欧美福利电影在线观看| 亚洲成人在线视频播放| 极品尤物久久久av免费看| 欧美涩涩网站| 亚洲乱码国产乱码精品精可以看| 欧美四级在线| 亚洲一区二区三区高清不卡| 国产精品毛片a∨一区二区三区|国| 午夜亚洲性色福利视频| av成人老司机| 亚洲免费av电影| 亚洲第一精品夜夜躁人人躁| 亚洲少妇在线| 午夜精品久久久久久久白皮肤| 亚洲福利在线观看| 国产一区二区三区久久悠悠色av| 国产欧美日韩综合一区在线播放| 在线欧美不卡| 欧美破处大片在线视频| 欧美一级久久| 美女啪啪无遮挡免费久久网站| 欧美福利一区二区| 亚洲免费网址| 亚洲午夜一区| 免费在线亚洲| 国产精品成人一区二区三区吃奶| 国产精品九九| 男人插女人欧美| 国产精品99一区二区| 欧美日韩精品久久久| 国内外成人免费激情在线视频网站| 在线观看三级视频欧美| 在线视频亚洲| 欧美四级在线| 国产精品任我爽爆在线播放| 欧美片在线观看| 亚洲一区二区三区精品在线| 久久亚洲不卡| 美国三级日本三级久久99| 麻豆乱码国产一区二区三区| 午夜精品理论片| 日韩视频免费在线观看| 亚洲特级片在线| 欧美日韩午夜剧场| 亚洲欧美日韩久久精品| 精品成人在线观看| 久久综合中文| 欧美一二三区精品| 一区二区三区成人| 国产精品99免费看| 国产精品二区三区四区| 狠狠色丁香久久婷婷综合丁香| 国产精品久久久一区二区| 欧美婷婷久久| 欧美国产一区视频在线观看| 国产精品久久国产精品99gif| 99热免费精品在线观看| 午夜精彩国产免费不卡不顿大片| 久久精品男女| 亚洲国产天堂久久综合| 欧美成人第一页| 亚洲淫性视频| 欧美激情视频一区二区三区在线播放| 美女成人午夜| 久久大香伊蕉在人线观看热2| 欧美成人精品在线播放| 久久亚洲免费| 久久综合五月天婷婷伊人| 一区二区三区四区蜜桃| 国产噜噜噜噜噜久久久久久久久| 国内外成人在线| 亚洲手机视频| 欧美中文在线观看国产| 国产性猛交xxxx免费看久久| 99精品视频免费在线观看| 久久亚洲综合| 国产精品区一区二区三| 久久精品女人天堂| 亚洲欧洲午夜| 欧美aa在线视频| 亚洲国产精品美女| 亚洲免费一区二区| 久久久久久久久久码影片| 亚洲人成免费| 亚洲国产精品精华液网站| 国产欧美一区二区三区久久人妖| 欧美日韩伦理在线免费| 欧美日韩xxxxx| 影音先锋中文字幕一区二区| 在线观看一区二区视频| 一区二区三区色| 亚洲欧美一区二区三区久久| 国产欧美日韩亚洲| 亚洲精品中文字| 欧美伦理91i| 欧美调教vk| 一本色道久久综合| 国产精品嫩草99av在线| 久久久亚洲午夜电影| 欧美伦理视频网站| 欧美午夜不卡在线观看免费| 国产综合网站| 亚洲激情在线观看| 亚洲视频福利| 久久久久青草大香线综合精品| 国产精品久久国产精麻豆99网站| 亚洲婷婷在线| 亚洲精品国产品国语在线app| 亚洲一二三四久久| 国产精品美女黄网| 国产亚洲欧美aaaa| 国产精品av免费在线观看| 亚洲视频一区二区在线观看| 美脚丝袜一区二区三区在线观看| 亚洲激情影视| 欧美成年人视频网站| 欧美小视频在线| 一本色道88久久加勒比精品| 在线观看国产精品淫| 久久精品网址| 久久综合网色—综合色88| 亚洲激精日韩激精欧美精品| 精品不卡一区二区三区| 日韩一级精品| 欧美日韩中文字幕精品| 国产伦精品一区二区三区照片91| 午夜精品在线看| 久久久久久久激情视频| 国产精品视频最多的网站| 欧美中文字幕在线观看| 亚洲免费视频成人| 狠狠色狠狠色综合日日五| 亚洲一区二区三区涩| 亚洲精品久久久久久下一站| 精品不卡一区二区三区| 在线视频日韩| 久久中文欧美| 欧美日韩国产不卡| 悠悠资源网亚洲青| 韩日精品在线| 国产精品大片| 激情欧美日韩一区| 欧美日韩一区二区国产| 99视频超级精品| 国产一区二区三区观看| 在线电影欧美日韩一区二区私密| 欧美日韩在线一区| 一级成人国产| 免费不卡在线观看| 91久久在线观看| 欧美日韩三级视频| 欧美成人在线免费视频| aⅴ色国产欧美| 欧美日韩精品高清| 欧美日韩一卡二卡| 国内成人精品2018免费看| 欧美丰满少妇xxxbbb| 久久国产精品黑丝| a91a精品视频在线观看| 国产在线国偷精品产拍免费yy| 欧美肉体xxxx裸体137大胆| 国产午夜精品全部视频播放| 久久久久久**毛片大全| 午夜精品视频一区| 老司机午夜精品视频在线观看| 99精品视频免费在线观看| 亚洲国产高清在线观看视频| 免费成人av在线看| 国产最新精品精品你懂的| 久久久精品tv| 欧美三级精品| 欧美在线视频免费播放| 欧美另类videos死尸| 欧美日韩午夜视频在线观看| 亚洲综合不卡| 一区二区三区欧美激情| 免费欧美日韩国产三级电影| 欧美精品一区二区三区蜜臀| 久久久久久69| 久久综合999| 国产精品国产三级国产aⅴ无密码| 激情一区二区三区| 国内一区二区三区| 欧美在线看片| 欧美麻豆久久久久久中文| 激情视频一区| 午夜精品成人在线视频| 欧美日韩久久不卡| 136国产福利精品导航网址应用| 欧美日韩视频在线一区二区观看视频| 欧美一区二区在线| 9色porny自拍视频一区二区| 久久成人18免费网站| 国产精品久久77777| 中国成人在线视频| 欧美日韩你懂的| 久久久噜噜噜久久久| 黑人中文字幕一区二区三区| 久久免费视频观看| 欧美在线www| 在线性视频日韩欧美| 欧美一级久久久久久久大片| 亚洲一区中文字幕在线观看| 免费久久99精品国产自在现线| 欧美在线视频不卡| 欧美日韩1区2区| 在线亚洲观看| 欧美一区视频在线| 91久久午夜| 欧美aⅴ99久久黑人专区| 免费在线欧美视频| 亚洲青色在线| 久久久精品久久久久| 日韩一区二区精品在线观看| 欧美日本中文字幕| 狠狠狠色丁香婷婷综合久久五月| 亚洲高清激情| 欧美美女bb生活片| 欧美另类视频| 欧美久久久久免费| 午夜精品久久99蜜桃的功能介绍| 午夜精品一区二区三区在线| 国产中文一区二区| 国产综合色产在线精品| 国产女人18毛片水18精品| 久久影院午夜片一区| 欧美日韩另类视频| 欧美日本一道本在线视频| 韩国欧美国产1区| 欧美成人性网| 欧美视频一区二区三区四区| 欧美黄色大片网站| 国产精品腿扒开做爽爽爽挤奶网站| 国产一区二区电影在线观看| 久久综合国产精品台湾中文娱乐网| 国产欧美日韩综合| 亚洲女爱视频在线| 国产精品高清免费在线观看| 欧美日韩99| 亚洲你懂的在线视频| 欧美理论电影在线观看| 国内成人精品视频| 亚洲网站在线观看| 蜜臀99久久精品久久久久久软件| 久久久国产亚洲精品| 可以看av的网站久久看| 欧美视频一区在线| 国产综合视频在线观看| 欧美一区影院| 久久久www成人免费无遮挡大片| 国内精品久久久久国产盗摄免费观看完整版| 国产亚洲欧美日韩一区二区| 激情小说另类小说亚洲欧美| 亚洲中字黄色| 国产欧美日韩中文字幕在线| 欧美在线播放| 欧美在线视频网站| 欧美v亚洲v综合ⅴ国产v| 激情六月婷婷综合| 亚洲国产精品成人| 亚洲国产va精品久久久不卡综合| 亚洲人成网站精品片在线观看| 欧美日韩国产综合视频在线观看| 欧美视频一区| 在线色欧美三级视频| 国产精品欧美日韩久久| 亚洲午夜精品福利| 欧美成人小视频| 久久久久国产精品人| 亚洲视频一区| 国产精品久久久久三级| 欧美激情按摩| 久久婷婷色综合| 亚洲天堂第二页| 免费成人av| 久久免费高清| 国产精品播放| 欧美电影免费观看大全| 亚洲精品一区二区在线观看| 欧美一区二区三区视频在线| 亚洲国产免费| 欧美jizz19性欧美| 国产精品毛片一区二区三区| 欧美精品一区二区蜜臀亚洲| 亚洲人成网站影音先锋播放| 久久婷婷国产综合精品青草| 亚洲欧美日韩在线高清直播| 夜夜爽www精品| 伊人久久男人天堂| 国产欧美综合一区二区三区| 一本久久知道综合久久| 一区二区福利| 国产精品久久久久久久久久久久| 欧美二区在线播放| 欧美粗暴jizz性欧美20| 欧美日韩一区二区在线播放| 欧美精品手机在线| 欧美日本韩国一区二区三区| 欧美极品色图| 久久精品毛片| 国产精品大片| 欧美成年人网站| 国产精品稀缺呦系列在线|