[Tinyos-2-commits] CVS: tinyos-2.x/tos/platforms/eyesIFX/chips/at45db HplAt45db_chip.h, NONE, 1.1.2.1 HplAt45dbC.nc, NONE, 1.1.2.1 HplAt45dbP.nc, NONE, 1.1.2.1

Philipp Huppertz phihup at users.sourceforge.net
Wed Aug 9 10:28:38 PDT 2006


Update of /cvsroot/tinyos/tinyos-2.x/tos/platforms/eyesIFX/chips/at45db
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv15227/tos/platforms/eyesIFX/chips/at45db

Added Files:
      Tag: tinyos-2_0_devel-BRANCH
	HplAt45db_chip.h HplAt45dbC.nc HplAt45dbP.nc 
Log Message:
- initial support for at45db flash for eyesIFXv2
- all apps in /apps/tests/storage compile and seem to work (still low performance!?)

--- NEW FILE: HplAt45db_chip.h ---
// $Id: HplAt45db_chip.h,v 1.1.2.1 2006/08/09 17:28:36 phihup Exp $

/*									tab:4
 * "Copyright (c) 2000-2003 The Regents of the University  of California.  
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement is
 * hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
 * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
 * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 *
 * Copyright (c) 2002-2006 Intel Corporation
 * All rights reserved.
 *
 * This file is distributed under the terms in the attached INTEL-LICENSE     
 * file. If you do not find these files, copies can be found by writing to
 * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
 * 94704.  Attention:  Intel License Inquiry.
 */

#ifndef HPLAT45DB_CHIP_H
#define HPLAT45DB_CHIP_H

// flash characteristics
enum {
  AT45_MAX_PAGES = 2048,
  AT45_PAGE_SIZE = 264,
  AT45_PAGE_SIZE_LOG2 = 8 // For those who want to ignore the last 8 bytes
};

typedef uint16_t at45page_t;
typedef uint16_t at45pageoffset_t; /* must fit 0 to AT45_PAGE_SIZE - 1 */

#endif

--- NEW FILE: HplAt45dbC.nc ---
/*
* Copyright (c) 2006, Technische Universitat Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
*   this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
*   notice, this list of conditions and the following disclaimer in the
*   documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitat Berlin nor the names
*   of its contributors may be used to endorse or promote products derived
*   from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

configuration HplAt45dbC {
  provides interface HplAt45db;
}
implementation {
  
  components  new HplAt45dbByteC(9), 
							new Msp430Spi0C() as Spi, 
							HplAt45dbP,
							HplMsp430GeneralIOC as MspGeneralIO,
							new Msp430GpioC() as Select;  
  
	HplAt45db = HplAt45dbByteC;

  HplAt45dbByteC.Resource -> Spi;
  HplAt45dbByteC.FlashSpi -> Spi;
  HplAt45dbByteC.HplAt45dbByte -> HplAt45dbP;
	
	Select -> MspGeneralIO.Port17;
	HplAt45dbP.Select -> Select; 
	HplAt45dbP.FlashSpi -> Spi;
}

--- NEW FILE: HplAt45dbP.nc ---
/*
* Copyright (c) 2006, Technische Universitat Berlin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright notice,
*   this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
*   notice, this list of conditions and the following disclaimer in the
*   documentation and/or other materials provided with the distribution.
* - Neither the name of the Technische Universitat Berlin nor the names
*   of its contributors may be used to endorse or promote products derived
*   from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/


module HplAt45dbP {
  provides {
    interface HplAt45dbByte;
  }
  uses {
		interface SpiByte as FlashSpi;
    interface GeneralIO as Select;
  }
}
implementation
{
  command void HplAt45dbByte.select() {
    call Select.clr();
  }

  command void HplAt45dbByte.deselect() {
    call Select.set();
  }
  
	task void idleTask() {
		uint8_t status;
		call FlashSpi.write( 0, &status );
		if (!(status & 0x80)) {
			call FlashSpi.write(0xd7, &status);
			post idleTask();
		} else {
			signal HplAt45dbByte.idle();
		}
	}

  command void HplAt45dbByte.waitIdle() {
		post idleTask();
  }
  
  command bool HplAt45dbByte.getCompareStatus() {
		uint8_t status;
		call FlashSpi.write( 0, &status );
    return (!(status & 0x40));
  }
}



More information about the Tinyos-2-commits mailing list