[Tinyos-2-commits]
CVS: tinyos-2.x/tos/platforms/tinynode/chips/at45db
HplAt45dbC.nc, NONE, 1.1.2.1 HplAt45dbP.nc, NONE,
1.1.2.1 HplAt45db_chip.h, NONE, 1.1.2.1
Henri DF
henridf at users.sourceforge.net
Mon Oct 30 06:09:32 PST 2006
Update of /cvsroot/tinyos/tinyos-2.x/tos/platforms/tinynode/chips/at45db
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32015/tos/platforms/tinynode/chips/at45db
Added Files:
Tag: tinyos-2_0_devel-BRANCH
HplAt45dbC.nc HplAt45dbP.nc HplAt45db_chip.h
Log Message:
support for AT45DB flash (taken from eyesIFX)
--- 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.Port47;
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;
status = call FlashSpi.write(0);
if (!(status & 0x80)) {
post idleTask();
} else {
signal HplAt45dbByte.idle();
}
}
command void HplAt45dbByte.waitIdle() {
post idleTask();
}
command bool HplAt45dbByte.getCompareStatus() {
uint8_t status;
status = call FlashSpi.write(0);
return (!(status & 0x40));
}
}
--- NEW FILE: HplAt45db_chip.h ---
// $Id: HplAt45db_chip.h,v 1.1.2.1 2006/10/30 14:09:30 henridf 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
More information about the Tinyos-2-commits
mailing list