tinyos學習筆記1 開題

2021-06-27 17:30:17 字數 1042 閱讀 3222

tinyos學習筆記1--開題

大概在3,4月份,從參加的一次培訓會上,得知了在無線感測網中除了使用較多的ti公司的zigbee協議棧外,還有幾個比較流行的針對無線感測網的os,其中乙個是contiki,另乙個則是tinyos。鑑於市面上已有幾本介紹tinyos的書籍,而介紹contiki系統的書籍還沒有,因此選擇了首先學習tinyos這款os。

tinyos並不是一款主流的os,學習該os的群體也比較有限,學習者一般可以分為幾類:1.公司裡希望做一些應用的或學生參加一些比賽的,可能比較關心該os在自己平台上的移植及應用程式的編寫。2.一些高校或研究所的科研人員希望借研究tinyos來剖析一款os實現的,可能比較想搞明白這款系統的基本實現及一些特殊機制的實現。3.針對無線感測網做研究的,更關心如何在os上跑已有或自己改進的協議。所以我們應當首先明確自己的研究方向或某個階段的學習目標。

經過幾個月的看書學習(寫的較好的書籍大概有3本,可當當、亞馬遜或**)及在cc2530上移植這款os,對tinyos的大體框架有了一些認識,因此總結了如上的幾個學習目標。為了更好的學習這款os,後續還將進行一些程式設計的練習和原始碼的閱讀。針對上面提出的3個學習的目的,我們分別要學習研究一些相關的內容。

【編寫應用程式】基於這個目的,我們首先要掌握的是tinyos的程式設計機制。tinyos應用的程式設計使用的是擴充套件的c語言即nesc程式語言,程式設計的機制也有別於我們的微控制器或arm等mcu的程式設計模式。tinyos將元件化/模組化思想和基於事件驅動的執行模型結合起來。因此我們要學習nesc語言的規範和組成,從而熟練的掌握應用程式的編寫方式。其中比較重要的概念有:元件、介面、模組、配件及連線等。後續將做相關介紹。

【研究剖析一款os】tinyos作業系統本身在軟體體系結構上體現了一些已有的研究成果,如輕量級執行緒技術、主動訊息通訊技術、事件驅動模式、元件化程式設計等。如果是從該角度出發去學習tinyos,那麼我們可能要學習一些比如:tinyos元件模型、通訊模型、排程機制、事件驅動機制等內容。可借助對乙個簡單的事例做從上至下完整的分析,理清楚整個系統工作的流程。學習完這些,可結合作業系統的原理對tinyos作業系統部分做一些優化的實踐及研究。

霜月孤鳥

2014.12.18

tinyos學習筆記1 Blink

blink學習 1.blinkc.nc 1 功能分析 通過定時開關leds,實現幾個燈輪流閃爍。所以,我們需要定時timer,燈leds,啟動程式boot 所有介面就在這兒了 module myblinkc 對了,關於時間需要引用timer.h標頭檔案,所以,開始時需要有 include timer...

Tinyos學習筆記(一)

簡述 傳送和接受資料的程式分別燒錄到兩個節點上,傳送方傳送流水燈資料,接受方接受資料並實現流水燈 1 傳送和接受程式用到的元件及其介面如圖 通過make telosb docs獲得 所示 2 傳送程式sendc.nc include timer.h include send.h module sen...

C 學習筆記 開題篇

寫在前面 我06年公升入煙台大學,大一下學期開始接觸c 掐指算來接觸c 也有三年有餘。但是真正學習c 的時間幾乎為零。我們當時學的是譚浩強的 c 程式設計 清華大學出版社。學完這本書後,開始長達一年的空白階段。大三開始重溫c 期間讀了 more effective c c stl more effe...