[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/TOSBoot/telosb
InternalFlash.h, NONE, 1.1 InternalFlash.nc, NONE,
1.1 PluginC.nc, NONE, 1.1 PowerOffM.nc, NONE,
1.1 TOSBoot_platform.h, NONE, 1.1 hardware.h, NONE, 1.1
Razvan Musaloiu-E.
razvanm at users.sourceforge.net
Tue May 22 13:34:24 PDT 2007
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/TOSBoot/stm25p
ExtFlashC.nc, NONE, 1.1 ExtFlashM.nc, NONE, 1.1
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/net/Deluge
AutoStarterC.nc, NONE, 1.1 AutoStarterP.nc, NONE,
1.1 BitVecUtils.h, NONE, 1.1 BitVecUtils.nc, NONE,
1.1 BitVecUtilsC.nc, NONE, 1.1 Crc.nc, NONE, 1.1 CrcP.nc, NONE,
1.1 Deluge.h, NONE, 1.1 DelugeC.nc, NONE, 1.1 DelugeMetadata.h,
NONE, 1.1 DelugeMetadata.nc, NONE, 1.1 DelugeMsgs.h, NONE,
1.1 DelugeP.nc, NONE, 1.1 DelugePageTransfer.h, NONE,
1.1 DelugePageTransfer.nc, NONE, 1.1 DelugePageTransferC.nc,
NONE, 1.1 DelugePageTransferP.nc, NONE, 1.1 DelugeStorageC.nc,
NONE, 1.1 DelugeStorageP.nc, NONE, 1.1 FakeBlockReaderC.nc,
NONE, 1.1 FakeBlockWriterC.nc, NONE, 1.1 FakeBlockWriterP.nc,
NONE, 1.1 Globals.nc, NONE, 1.1 GlobalsC.nc, NONE,
1.1 ObjectTransfer.nc, NONE, 1.1 ObjectTransferC.nc, NONE,
1.1 ObjectTransferP.nc, NONE, 1.1 SerialStarterC.nc, NONE,
1.1 StatsCollector.nc, NONE, 1.1 StatsCollectorC.nc, NONE,
1.1 StatsCollectorP.nc, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/TOSBoot/telosb
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24715/tos/lib/TOSBoot/telosb
Added Files:
InternalFlash.h InternalFlash.nc PluginC.nc PowerOffM.nc
TOSBoot_platform.h hardware.h
Log Message:
Initial commit of the Deluge T2. Some notes:
- TOSBoot includes some code to allow the MicaZ version to compile but it's not support for it it's not done yet.
- tools/tinyos/misc/Makefile.am is not updated yet so the new tools will not be installed by default.
--- NEW FILE: InternalFlash.h ---
// $Id: InternalFlash.h,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:4
*
*
* "Copyright (c) 2000-2004 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."
*
*/
/**
* InternalFlash.h - Internal flash implementation for telos msp
* platform. On the msp, the flash must first be erased before a value
* can be written. However, the msp can only erase the flash at a
* segment granularity (128 bytes for the information section). This
* module allows transparent read/write of individual bytes to the
* information section by dynamically switching between the two
* provided segments in the information section.
*
* Valid address range is 0x1000 - 0x107E (0x107F is used to store the
* version number of the information segment).
*
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
#ifndef __INTERNAL_FLASH_H__
#define __INTERNAL_FLASH_H__
#endif
--- NEW FILE: InternalFlash.nc ---
// $Id: InternalFlash.nc,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:4
*
*
* "Copyright (c) 2000-2004 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."
*
*/
/**
* InternalFlash.nc - A generic interface to read and store values in
* the internal flash of a microcontroller.
*
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
interface InternalFlash {
command error_t write(void* addr, void* buf, uint16_t size);
command error_t read(void* addr, void* buf, uint16_t size);
}
--- NEW FILE: PluginC.nc ---
// $Id: PluginC.nc,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:2
*
*
* "Copyright (c) 2000-2004 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."
*
*/
/**
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
configuration PluginC {
provides {
interface StdControl;
}
}
implementation {
components ExtFlashC, LedsC, PowerOffM;
StdControl = PowerOffM;
PowerOffM.Leds -> LedsC;
PowerOffM.SubControl -> ExtFlashC;
}
--- NEW FILE: PowerOffM.nc ---
// $Id: PowerOffM.nc,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:2
*
*
* "Copyright (c) 2000-2004 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."
*
*/
/**
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
module PowerOffM {
provides {
interface Init;
interface StdControl;
}
uses {
interface Leds;
interface StdControl as SubControl;
}
}
implementation {
void haltsystem() {
uint16_t _lpmreg;
TOSH_SET_PIN_DIRECTIONS();
call SubControl.stop();
call Leds.glow(0x7, 0x0);
_lpmreg = LPM4_bits;
_lpmreg |= SR_GIE;
__asm__ __volatile__( "bis %0, r2" : : "m" ((uint16_t)_lpmreg) );
}
command error_t Init.init() {
return SUCCESS;
}
command error_t StdControl.start() {
int i;
// wait a short period for things to stabilize
for ( i = 0; i < 4; i++ )
wait(0xffff);
// if user button is pressed, power down
if (!TOSH_READ_USERINT_PIN())
haltsystem();
return SUCCESS;
}
command error_t StdControl.stop() {
return SUCCESS;
}
}
--- NEW FILE: TOSBoot_platform.h ---
// $Id: TOSBoot_platform.h,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:2
* "Copyright (c) 2000-2005 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."
*/
/**
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
#ifndef __TOSBOOT_PLATFORM_H__
#define __TOSBOOT_PLATFORM_H__
enum {
// address of TOSBoot args in internal flash
TOSBOOT_ARGS_ADDR = 0x70,
// number of resets to force golden image
TOSBOOT_GESTURE_MAX_COUNT = 3,
// address of the golden image in external flash
TOSBOOT_GOLDEN_IMG_ADDR = 0xf0000L,
// size of each internal program flash page
TOSBOOT_INT_PAGE_SIZE = 512L,
};
enum {
DELUGE_MIN_ADV_PERIOD_LOG2 = 9,
DELUGE_QSIZE = 1,
};
#endif
--- NEW FILE: hardware.h ---
// $Id: hardware.h,v 1.1 2007/05/22 20:34:22 razvanm Exp $
/* tab:2
*
*
* "Copyright (c) 2000-2005 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."
*
*/
/**
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
#ifndef __HARDWARE_H__
#define __HARDWARE_H__
#include "msp430hardware.h"
// internal flash is 16 bits in width
typedef uint16_t in_flash_addr_t;
// external flash is 32 bits in width
typedef uint32_t ex_flash_addr_t;
void wait(uint16_t t) {
for ( ; t > 0; t-- );
}
// LEDs
TOSH_ASSIGN_PIN(RED_LED, 5, 4);
TOSH_ASSIGN_PIN(GREEN_LED, 5, 5);
TOSH_ASSIGN_PIN(YELLOW_LED, 5, 6);
// UART pins
TOSH_ASSIGN_PIN(SOMI0, 3, 2);
TOSH_ASSIGN_PIN(SIMO0, 3, 1);
TOSH_ASSIGN_PIN(UCLK0, 3, 3);
TOSH_ASSIGN_PIN(UTXD0, 3, 4);
TOSH_ASSIGN_PIN(URXD0, 3, 5);
// User Interupt Pin
TOSH_ASSIGN_PIN(USERINT, 2, 7);
// FLASH
TOSH_ASSIGN_PIN(FLASH_PWR, 4, 3);
TOSH_ASSIGN_PIN(FLASH_CS, 4, 4);
TOSH_ASSIGN_PIN(FLASH_HOLD, 4, 7);
void TOSH_SET_PIN_DIRECTIONS(void)
{
P3SEL = 0x0E; // set SPI and I2C to mod func
P1DIR = 0xe0;
P1OUT = 0x00;
P2DIR = 0x7b;
P2OUT = 0x10;
P3DIR = 0xf1;
P3OUT = 0x00;
P4DIR = 0xfd;
P4OUT = 0xdd;
P5DIR = 0xff;
P5OUT = 0xff;
P6DIR = 0xff;
P6OUT = 0x00;
}
#endif
- Previous message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/TOSBoot/stm25p
ExtFlashC.nc, NONE, 1.1 ExtFlashM.nc, NONE, 1.1
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/net/Deluge
AutoStarterC.nc, NONE, 1.1 AutoStarterP.nc, NONE,
1.1 BitVecUtils.h, NONE, 1.1 BitVecUtils.nc, NONE,
1.1 BitVecUtilsC.nc, NONE, 1.1 Crc.nc, NONE, 1.1 CrcP.nc, NONE,
1.1 Deluge.h, NONE, 1.1 DelugeC.nc, NONE, 1.1 DelugeMetadata.h,
NONE, 1.1 DelugeMetadata.nc, NONE, 1.1 DelugeMsgs.h, NONE,
1.1 DelugeP.nc, NONE, 1.1 DelugePageTransfer.h, NONE,
1.1 DelugePageTransfer.nc, NONE, 1.1 DelugePageTransferC.nc,
NONE, 1.1 DelugePageTransferP.nc, NONE, 1.1 DelugeStorageC.nc,
NONE, 1.1 DelugeStorageP.nc, NONE, 1.1 FakeBlockReaderC.nc,
NONE, 1.1 FakeBlockWriterC.nc, NONE, 1.1 FakeBlockWriterP.nc,
NONE, 1.1 Globals.nc, NONE, 1.1 GlobalsC.nc, NONE,
1.1 ObjectTransfer.nc, NONE, 1.1 ObjectTransferC.nc, NONE,
1.1 ObjectTransferP.nc, NONE, 1.1 SerialStarterC.nc, NONE,
1.1 StatsCollector.nc, NONE, 1.1 StatsCollectorC.nc, NONE,
1.1 StatsCollectorP.nc, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-2-commits
mailing list