[Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/pc HPLSTM25PC.nc, NONE, 1.1 TOSBoot.h, NONE, 1.1

Jonathan Hui jwhui at users.sourceforge.net
Sun Nov 21 21:31:00 PST 2004


Update of /cvsroot/tinyos/tinyos-1.x/beta/Deluge/pc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13752/pc

Added Files:
	HPLSTM25PC.nc TOSBoot.h 
Log Message:
- Initial checkin of Deluge v2.0.

- New features:
  - Support for hardware write protect of external flash chip.
  - Ping results include information obtained from Ident.h.
  - CRCs are no longer inlined with program data, thus allowing for
    DMA transfers from external flash to program flash.
  - Version number information included in Deluge packets to prevent
    nodes with different versions of Deluge from conflicts.
  - Support for TinyOS 2.x hardware independent storage abstraction.
  - Metadata data-structures include CRCs generated by the host PC
    to help guard against corruption.
  - TOSBoot bootloader now written in nesC.
  - Reduced RAM and ROM requirements.
  - Other minor enhancements that I can't think of right now.

- Major user differences:
  - Golden image is now slot 0. While it cannot be written to, the user
    can retrieve Ident.h information about the golden image.
  - When specifying an image for download, the user specifies the 
    build/<platform> directory rather than just the ihex file. The issue
    is that it is very difficult to pull out the Ident.h information
    without compile-time output.

- Known issues:
  - Does not support more than 1 downloadable image (actually, it might, 
    but I haven't tested it yet).

- To setup the Deluge tools, create the directory net/tinyos/deluge
and copy all files in 'delugetools' into it.

- Operation is very similar to Deluge v1.0.
  Ping:
    $ java net.tinyos.deluge.Deluge -p
  Download:
    $ java net.tinyos.deluge.Deluge -i -if <builddir> -in <imagenum>
  Reboot:
    $ java net.tinyos.deluge.Deluge -r -in <imagenum>



--- NEW FILE: HPLSTM25PC.nc ---
// $Id: HPLSTM25PC.nc,v 1.1 2004/11/22 05:30:58 jwhui 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."
 *
 * Copyright (c) 2002-2003 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.
 */

/*
 * @author: Jonathan Hui <jwhui at cs.berkeley.edu>
 */

module HPLSTM25PC {
  provides {
    interface StdControl;
    interface HPLSTM25P;
  }
}

implementation {

  command result_t StdControl.init() { return SUCCESS; }
  command result_t StdControl.start() { return SUCCESS; }
  command result_t StdControl.stop() { return SUCCESS; }

  async command result_t HPLSTM25P.getBus() { return SUCCESS;  }
  async command result_t HPLSTM25P.releaseBus() { return SUCCESS; }

  async command result_t HPLSTM25P.beginCmd(uint8_t cmd) {
    return SUCCESS;
  }

  async command result_t HPLSTM25P.endCmd() {
    return SUCCESS;
  }

  async command result_t HPLSTM25P.hold() {
    return SUCCESS;
  }

  async command result_t HPLSTM25P.unhold() {
    return SUCCESS;
  }

  async command result_t HPLSTM25P.txBuf(uint8_t* buf, stm25p_addr_t len) {
    return SUCCESS;
  }

  async command result_t HPLSTM25P.rxBuf(uint8_t* buf, stm25p_addr_t len) {
    stm25p_addr_t i;
    for ( i = 0; i < len; i++ )
      buf[i] = 0xff;
    return SUCCESS;
  }

}

--- NEW FILE: TOSBoot.h ---
// $Id: TOSBoot.h,v 1.1 2004/11/22 05:30:58 jwhui 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."
 */

/*
 * @author  Jonathan Hui <jwhui at cs.berkeley.edu>
 */

#ifndef __MSP_BOOTLOADER_H__
#define __MSP_BOOTLOADER_H__

#define TOSBOOT_INT_PAGE_SIZE  ((uint32_t)512)

#define TOSBOOT_GOLDEN_IMG_ADDR     ((uint32_t)0xf0100)
#define TOSBOOT_GESTURE_MAX_COUNT   5

enum {
  TOSBOOT_GOLDEN_IMG_LOADED = 1,
  TOSBOOT_EXPLICIT_REBOOT = 2,
  TOSBOOT_PROGRAM_FAIL_FLAG = 4,
};

// bootloader state

#define TOSBOOT_LOAD_IMG_ADDR         0x70 // 1 byte
#define TOSBOOT_GESTURE_COUNT_ADDR    0x71 // 1 byte
#define TOSBOOT_NEW_IMG_START_ADDR    0x72 // 4 bytes
#define TOSBOOT_CUR_IMG_START_ADDR    0x76 // 4 bytes
#define TOSBOOT_PROGRAM_BUF_ADDR      0x7a // 4 bytes

#define TOSBOOT_FLAGS_ADDR            0x7e // 1 byte

#endif



More information about the Tinyos-beta-commits mailing list