Jump to content

Open-ZB stack porting to TmoteSky: Difference between revisions

From HW wiki
Auersm1 (talk | contribs)
Auersm1 (talk | contribs)
Line 9: Line 9:
== Developing phase ==
== Developing phase ==


* [5,6 - 2007]
I used the TinyOS Tmote Sky hardware modules:
: \tinyos-1.x\tos\platform\msp430\
: \tinyos-1.x\tos\platform\telos\
:\tinyos-1.x\tos\platform\telosb\
moved it to:
:\tinyos-1.x\contrib\hurray\tos\platform\
and I'm trying to modify some files.
Since wasn't necessary change the PHY-layer files, because I have basic problem:
During compiling the Blink application to a telosb binary:
: ''In file included from \tinyos-1.x\contrib\hurray\tos\system\Main.nc from Blink.nc''
: ''In component 'PotC':''
: ''\tinyos-1.x\contrib\hurray\tos\system\PotC.nc component HPLPotC not found''
: ''In file included from Blink.nc:''
: ''In component 'Main':''
: ''\tinyos-1.x\contrib\hurray\tos\system\Main.nc component HPLInit not found''
: ''In file included from \tinyos-1.x\contrib\hurray\tos\system\TimerC.nc from SingleTimer.nc and Blink.nc''
: ''In component 'ClockC':''
: ''\tinyos-1.x\contrib\hurray\tos\system\ClockC.nc component HPLClock not found''
That's right. I thing, I have to change the directory ''\tinyos-1.x\contrib\hurray\tos\system\'' to ''\tinyos-1.x\contrib\hurray\tos\platform\msp430'' before linking someway, so that all files
included in ''\tos\system'' (as well as in ''\platform\msp430'') were replace by the files from
''\platform\msp430''.
The files in ''\tos\system\'' are primarily determined for other platforms (e.g. Mica). You can see:
The Blink application uses these files:
MicaZ platform:
: ''platform/micaz/PowerManagementM.nc''
: ''system/ClockC.nc, LedsC.nc, Main.nc, NoLeds.nc, PotC.nc, PotM.nc, RealMain.nc, TimerC.nc, TimerM.nc''
: ''tos/platform/avrmote/HPLInit.nc''
: ''tos/platform/mica/HPLClock.nc''
: ''tos/platform/mica2/HPLPotC.nc''
TelosB platform:
: ''tos/platform/msp430/HPLInitC.nc, HPLInitM.nc, LocalTime.nc, MSP430Capture.nc, MSP430ClockC.nc, MSP430ClockInit.nc, MSP430ClockM.nc, MSP430Compare.nc, MSP430DCOCalibC.nc, MSP430DCOCalibM.nc, MSP430Timer.nc, MSP430TimerC.nc, MSP430TimerControl.nc, MSP430TimerM.nc, Main.nc, MainM.nc, TimerC.nc, TimerJiffy.nc, TimerM.nc, TimerMilli.nc''
: ''tos/system/LedsC.nc''
I think, it's a problem in a 'Makefile' file.
I tried to add to the 'Makefile' (\tinyos-1.x\contrib\hurray\apps\Blink\)
: ''PFLAGS += -I$(HURRAYROOT)/platform/msp430''
but the compiler takes the files still from \tinyos-1.x\contrib\hurray\tos\system\
----
* [3,4 - 2007]
* zjistil jsem, ktere soubory pouziva implementace fyzicke vrstvy, je tvorena soubory:
* zjistil jsem, ktere soubory pouziva implementace fyzicke vrstvy, je tvorena soubory:
: \contrib\hurray\tos\lib\phy\ phy_const.h, phy_enumerations.h, Phy.nc, PhyM.nc
: \contrib\hurray\tos\lib\phy\ phy_const.h, phy_enumerations.h, Phy.nc, PhyM.nc

Revision as of 02:41, 11 February 2007

Weekly reports

Weekly Reports - what is done, what is doing, what will be done.

Project definition

Open-ZB protocol stack designed at Polytechnical institute of Porto, Portugal is implemented for MicaZ platform in TinyOS/nesC and we would like to port it to TmoteSky (TelosB) platform.

OpenZB-stack is developed for the MicaZ platform. My first task is to transform OpenZB-stack to the TelosB platform (Tmote Sky). Second task is develop aplication by using TinyOS for data collection along through the wireless body area network for monitoring physical condition of a Parkinson’s disease patient.

Developing phase

  • [5,6 - 2007]

I used the TinyOS Tmote Sky hardware modules:

\tinyos-1.x\tos\platform\msp430\
\tinyos-1.x\tos\platform\telos\
\tinyos-1.x\tos\platform\telosb\

moved it to:

\tinyos-1.x\contrib\hurray\tos\platform\

and I'm trying to modify some files.

Since wasn't necessary change the PHY-layer files, because I have basic problem: During compiling the Blink application to a telosb binary:

In file included from \tinyos-1.x\contrib\hurray\tos\system\Main.nc from Blink.nc
In component 'PotC':
\tinyos-1.x\contrib\hurray\tos\system\PotC.nc component HPLPotC not found
In file included from Blink.nc:
In component 'Main':
\tinyos-1.x\contrib\hurray\tos\system\Main.nc component HPLInit not found
In file included from \tinyos-1.x\contrib\hurray\tos\system\TimerC.nc from SingleTimer.nc and Blink.nc
In component 'ClockC':
\tinyos-1.x\contrib\hurray\tos\system\ClockC.nc component HPLClock not found

That's right. I thing, I have to change the directory \tinyos-1.x\contrib\hurray\tos\system\ to \tinyos-1.x\contrib\hurray\tos\platform\msp430 before linking someway, so that all files included in \tos\system (as well as in \platform\msp430) were replace by the files from \platform\msp430. The files in \tos\system\ are primarily determined for other platforms (e.g. Mica). You can see:

The Blink application uses these files: MicaZ platform:

platform/micaz/PowerManagementM.nc
system/ClockC.nc, LedsC.nc, Main.nc, NoLeds.nc, PotC.nc, PotM.nc, RealMain.nc, TimerC.nc, TimerM.nc
tos/platform/avrmote/HPLInit.nc
tos/platform/mica/HPLClock.nc
tos/platform/mica2/HPLPotC.nc

TelosB platform:

tos/platform/msp430/HPLInitC.nc, HPLInitM.nc, LocalTime.nc, MSP430Capture.nc, MSP430ClockC.nc, MSP430ClockInit.nc, MSP430ClockM.nc, MSP430Compare.nc, MSP430DCOCalibC.nc, MSP430DCOCalibM.nc, MSP430Timer.nc, MSP430TimerC.nc, MSP430TimerControl.nc, MSP430TimerM.nc, Main.nc, MainM.nc, TimerC.nc, TimerJiffy.nc, TimerM.nc, TimerMilli.nc
tos/system/LedsC.nc

I think, it's a problem in a 'Makefile' file. I tried to add to the 'Makefile' (\tinyos-1.x\contrib\hurray\apps\Blink\)

PFLAGS += -I$(HURRAYROOT)/platform/msp430

but the compiler takes the files still from \tinyos-1.x\contrib\hurray\tos\system\




  • [3,4 - 2007]
  • zjistil jsem, ktere soubory pouziva implementace fyzicke vrstvy, je tvorena soubory:
\contrib\hurray\tos\lib\phy\ phy_const.h, phy_enumerations.h, Phy.nc, PhyM.nc
je treba najit odpovidajici soubory patrici msp430 a telosu, ktere spravuji prikazy a udalosti, ktere obsahuji posledni dva hlavni soubory a upravit je - implementovat v nich dalsi obsazene prikazy a udalosti
pouziva:
\contrib\hurray\tos\lib\CC2420Radio\ byteorder.h, HPLCC2420.nc, HPLCC2420FIFO.nc, HPLCC2420RAM.nc
z CC2420Control.nc a CC2420ControlM.nc jsou pouzity parametry a data pro PhyM.nc
mely by zustat stejne
\contrib\hurray\tos\platform\avrmote\ HPLInit.nc, HPLPotC.nc
najit odpovidajici soubory pro msp430
\contrib\hurray\tos\platform\micaz\ HPLCC2420C.nc, HPLCC2420FIFOM.nc, HPLCC2420M.nc, HPLPowerManagementM.nc,
HPLTimer2.nc, HPLTimer2C.nc
najit odpovidajici soubory pro telos a telosb
\contrib\hurray\tos\system\ frame_format.h, Main.nc, RealMain.nc, PotC.nc, PotM.nc
mely by zustat stejne
\contrib\hurray\tos\interfaces\ Pot.nc, HPLPot.nc, PowerManagement.nc, StdControl.nc,
mely by zustat stejne
\contrib\hurray\tos\interfaces\ieee802154\phy\ all
mely by zustat stejne
  • protoze nelze pouze jednoduse zamenit soubory a jejich provazani je do velke hloubky, zacal jsem prodrobne analyzovat vsechny soubory vyse, abych mel alespon "predstavu" jak vse spolu komunikuje, jak je vse provazano, co co vola a pouziva, na co se co odkazuje, protoze abych porozumel, jak presne vrstva funguje a co se v ni pri behu deje, na to (snad postupem casu) nemam znalosti.
Priklad komentovaneho souboru Phy.nc
  • pro nalezeni veskerych provazani jsem chtel pouzit vytvorenou dokumentaci (pomoci graphviz), moje jedine informace jsou z Technical Report (Andre Cunha, Mario Alves), coz je malo, bohuzel s temito problemy:
- prelozit soubory MAC vrstvy nelze, vytvorit dokumentaci lze
- prelozit soubory PHY vrstvy ani vytvorit dokumentaci nelze
viz. pictures
Nevite proc? Jestli se soubory kompiluji vsechny spolecne s aplikaci nebo nejak jinak, protoze pri prekladu aplikace pro micaz probehne vse ok (ale neoverim jestli to funguje, mam k dispozici pouze modul telosb).

Results

Documentation

Links