[Tinyos-2-commits] CVS: tinyos-2.x/doc/txt tep103.txt, 1.1.2.6, 1.1.2.7

David Gay idgay at users.sourceforge.net
Fri Jun 2 10:29:59 PDT 2006


Update of /cvsroot/tinyos/tinyos-2.x/doc/txt
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4461/txt

Modified Files:
      Tag: tinyos-2_0_devel-BRANCH
	tep103.txt 
Log Message:
HAL should provide access to volume management


Index: tep103.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/doc/txt/Attic/tep103.txt,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -C2 -d -r1.1.2.6 -r1.1.2.7
*** tep103.txt	2 Jun 2006 15:31:30 -0000	1.1.2.6
--- tep103.txt	2 Jun 2006 17:29:55 -0000	1.1.2.7
***************
*** 207,217 ****
  implementation. Flash families with a common HPL SHOULD have a common
  HAL. Flash HAL's SHOULD expose a ``Resource`` interface and automatically
! power-manage the underlying flash chip.
! 
! We show here a couple of flash HAL's.
  
! The AT45DB HAL is: ::
  
!   configuration At45dbC
    {
      provides {
--- 207,220 ----
  implementation. Flash families with a common HPL SHOULD have a common
  HAL. Flash HAL's SHOULD expose a ``Resource`` interface and automatically
! power-manage the underlying flash chip. Finally, the flash HAL SHOULD
! provide a way to access the volume information specified by the
! programmer (see Section 3.3a). This allows users to build new flash
! abstractions that interact cleanly with the rest of the flash system.
! Next, we show a couple of flash HAL's.
  
! The AT45DB HAL has two components, one for chip access and the other
! providing volume information: ::
  
!   component At45dbC
    {
      provides {
***************
*** 223,231 ****
    } ...
  
  Note that the AT45DB HAL resource management is independent of the
  underlying HPL's power management. The motivation for this is that
  individual flash operations may take a long time, so it may be desirable to
  release the flash's bus during long-running operations. The ``At45db``
! interface is: ::
  
     interface At45db {
--- 226,239 ----
    } ...
  
+   configuration At45dbStorageManagerC {
+     provides interface At45dbVolume[volume_id_t volid];
+   } ...
+ 
+ 
  Note that the AT45DB HAL resource management is independent of the
  underlying HPL's power management. The motivation for this is that
  individual flash operations may take a long time, so it may be desirable to
  release the flash's bus during long-running operations. The ``At45db``
! and ``At45dbVolume`` interfaces are: ::
  
     interface At45db {
***************
*** 258,261 ****
--- 266,274 ----
     }
  
+    interface At45dbVolume {
+      command at45page_t remap(at45page_t volumePage);
+      command at45page_t volumeSize();
+    }
+ 
  The STMicroelectronics M25P HAL is: ::
  
***************
*** 266,275 ****
    }
  
! and the ``Stm25pSector`` interface is: ::
  
     interface Stm25pSector {
       command error_t read(stm25p_addr_t addr, void* buf, stm25p_addr_t len);
       event   error_t readDone(stm25p_addr_t addr, void* buf, stm25p_addr_t len,
!                               error_tresult);
  
       command error_t write(stm25p_addr_t addr, void* buf, 
--- 279,291 ----
    }
  
! and the ``Stm25pSector`` and ``Stm25pVolume`` interfaces are: ::
  
     interface Stm25pSector {
+      command stm25p_addr_t getPhysicalAddress( stm25p_addr_t addr );
+      command uint8_t getNumSectors();
+ 
       command error_t read(stm25p_addr_t addr, void* buf, stm25p_addr_t len);
       event   error_t readDone(stm25p_addr_t addr, void* buf, stm25p_addr_t len,
!                               error_t error);
  
       command error_t write(stm25p_addr_t addr, void* buf, 
***************
*** 288,291 ****
--- 304,313 ----
     }
  
+    interface Stm25pVolume {
+      async event volume_id_t getVolumeId();
+    }
+ 
+ Note that the M25P HAL integrates volume management and chip access
+ within the ``Stm25pSector`` interface.
  
  3.3 Hardware Interface Layer (HIL)



More information about the Tinyos-2-commits mailing list