[Tinyos-devel] simple way to obtain the physical address of a volume

Razvan Musaloiu-E. razvanm at cs.jhu.edu
Tue Jan 8 18:34:23 PST 2008


Hi!

I'm going over some parts of Deluge T2 and I reached the part when I need 
to obtain the physical address of a volume. The way we did it so far is by 
using custom parts for STM25P and AT45DB.

For STM25P we were using StorageMap interface offered by the generic 
component BlockStorageC. This is a hurdle because we need to instantiate 
the BlockStorageC for all the volumes. The physical address is also 
offered by Stm25pSectorC using a parametrized Stm25pSector interface. The 
bad part in this case is that Stm25pSector contains a lot of other 
split-phase commands which we I not interested in.

For AT45DB we were using At45dbVolume offered by At45dbStorageManagerC. 
This is a parametric interface over the volume ids which is perfect. What 
is not so good is the fact that the answer is not an absolute physical 
address so it needs some computation to reach it.

So my request to the core is: can getting the physical address be offered 
using a simple interface? :-) A parametrized StorageMap over the volume 
ids would be perfect for me.

StorageMap is in tos/chips/stm25p and it looks like this:

interface StorageMap {
   /**
    * Get the physical address of a volume address.
    *
    * @param addr the volume addres.
    * @return the physical address.
    */
   command storage_addr_t getPhysicalAddress( storage_addr_t addr );
}

Thank you!
Razvan ME


More information about the Tinyos-devel mailing list