X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Flib%2Ftosboot%2Fstm25p%2FExtFlashM.nc;fp=tos%2Flib%2Ftosboot%2Fstm25p%2FExtFlashM.nc;h=0000000000000000000000000000000000000000;hb=b9d9b45472ac2b5043943979487ae619a70bf6e6;hp=f3d16c02076265aeee24c3f73f4ef6fadbe1f4c7;hpb=0824f96f43ff0b85395408b7f47aa7c05f6c3658;p=tinyos-2.x.git diff --git a/tos/lib/tosboot/stm25p/ExtFlashM.nc b/tos/lib/tosboot/stm25p/ExtFlashM.nc deleted file mode 100644 index f3d16c02..00000000 --- a/tos/lib/tosboot/stm25p/ExtFlashM.nc +++ /dev/null @@ -1,114 +0,0 @@ -// $Id$ - -/* 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 - */ - -module ExtFlashM { - provides { - interface StdControl; - interface Init; - interface ExtFlash; - } - uses { - interface HPLUSARTControl as USARTControl; - } -} - -implementation { - - command error_t Init.init() { - TOSH_MAKE_FLASH_HOLD_OUTPUT(); - TOSH_MAKE_FLASH_CS_OUTPUT(); - TOSH_SET_FLASH_HOLD_PIN(); - call USARTControl.setModeSPI(); - return SUCCESS; - } - - command error_t StdControl.start() { - return SUCCESS; - } - - command error_t StdControl.stop() { - - TOSH_CLR_FLASH_CS_PIN(); - - call USARTControl.tx(0xb9); - while(call USARTControl.isTxEmpty() != SUCCESS); - - TOSH_SET_FLASH_CS_PIN(); - - call USARTControl.disableSPI(); - - return SUCCESS; - - } - - void powerOnFlash() { - - uint8_t i; - - TOSH_CLR_FLASH_CS_PIN(); - - // command byte + 3 dummy bytes + signature - for ( i = 0; i < 5; i++ ) { - call USARTControl.tx(0xab); - while(call USARTControl.isTxIntrPending() != SUCCESS); - } - - TOSH_SET_FLASH_CS_PIN(); - - } - - command void ExtFlash.startRead(uint32_t addr) { - - uint8_t i; - - powerOnFlash(); - - TOSH_CLR_FLASH_CS_PIN(); - - // add command byte to address - addr |= (uint32_t)0x3 << 24; - - // address - for ( i = 4; i > 0; i-- ) { - call USARTControl.tx((addr >> (i-1)*8) & 0xff); - while(call USARTControl.isTxIntrPending() != SUCCESS); - } - - } - - command uint8_t ExtFlash.readByte() { - call USARTControl.rx(); - call USARTControl.tx(0); - while(call USARTControl.isRxIntrPending() != SUCCESS); - return call USARTControl.rx(); - } - - command void ExtFlash.stopRead() { - TOSH_SET_FLASH_CS_PIN(); - } - -}