Added flash reads and writes to energest.
This commit is contained in:
parent
4855d0325c
commit
74e9bc8789
|
@ -28,7 +28,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
* $Id: energest.h,v 1.3 2008/10/14 12:46:39 nvt-se Exp $
|
* $Id: energest.h,v 1.4 2009/05/11 15:26:24 nvt-se Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -58,6 +58,9 @@ enum energest_type {
|
||||||
ENERGEST_TYPE_TRANSMIT,
|
ENERGEST_TYPE_TRANSMIT,
|
||||||
ENERGEST_TYPE_LISTEN,
|
ENERGEST_TYPE_LISTEN,
|
||||||
|
|
||||||
|
ENERGEST_TYPE_FLASH_READ,
|
||||||
|
ENERGEST_TYPE_FLASH_WRITE,
|
||||||
|
|
||||||
ENERGEST_TYPE_SENSORS,
|
ENERGEST_TYPE_SENSORS,
|
||||||
|
|
||||||
ENERGEST_TYPE_SERIAL,
|
ENERGEST_TYPE_SERIAL,
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* @(#)$Id: xmem.c,v 1.7 2008/07/03 23:12:10 adamdunkels Exp $
|
* @(#)$Id: xmem.c,v 1.8 2009/05/11 15:26:24 nvt-se Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -169,6 +169,8 @@ xmem_pread(void *_p, int size, unsigned long offset)
|
||||||
int s;
|
int s;
|
||||||
wait_ready();
|
wait_ready();
|
||||||
|
|
||||||
|
ENERGEST_ON(ENERGEST_TYPE_FLASH_READ);
|
||||||
|
|
||||||
s = splhigh();
|
s = splhigh();
|
||||||
SPI_FLASH_ENABLE();
|
SPI_FLASH_ENABLE();
|
||||||
|
|
||||||
|
@ -186,6 +188,9 @@ xmem_pread(void *_p, int size, unsigned long offset)
|
||||||
|
|
||||||
SPI_FLASH_DISABLE();
|
SPI_FLASH_DISABLE();
|
||||||
splx(s);
|
splx(s);
|
||||||
|
|
||||||
|
ENERGEST_OFF(ENERGEST_TYPE_FLASH_READ);
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -224,6 +229,8 @@ xmem_pwrite(const void *_buf, int size, unsigned long addr)
|
||||||
const unsigned long end = addr + size;
|
const unsigned long end = addr + size;
|
||||||
unsigned long i, next_page;
|
unsigned long i, next_page;
|
||||||
|
|
||||||
|
ENERGEST_ON(ENERGEST_TYPE_FLASH_WRITE);
|
||||||
|
|
||||||
for(i = addr; i < end;) {
|
for(i = addr; i < end;) {
|
||||||
next_page = (i | 0xff) + 1;
|
next_page = (i | 0xff) + 1;
|
||||||
if(next_page > end) {
|
if(next_page > end) {
|
||||||
|
@ -232,6 +239,9 @@ xmem_pwrite(const void *_buf, int size, unsigned long addr)
|
||||||
p = program_page(i, p, next_page - i);
|
p = program_page(i, p, next_page - i);
|
||||||
i = next_page;
|
i = next_page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ENERGEST_OFF(ENERGEST_TYPE_FLASH_WRITE);
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
Loading…
Reference in a new issue