Dataflash helper routines. More...
Go to the source code of this file.
Functions | |
int | At45dbSendCmd (int dd, uint8_t op, uint32_t parm, int len, CONST void *tdata, void *rdata, int datalen) |
Send DataFlash command. | |
uint8_t | At45dbGetStatus (int dd) |
int | At45dbWaitReady (int dd, uint32_t tmo, int poll) |
Wait until flash memory cycle finished. | |
int | At45dbInit (unsigned int spibas, unsigned int spipcs) |
Initialize dataflash at specified interface and chip select. | |
int | At45dbPageErase (int dd, uint32_t pgn) |
Erase sector at the specified offset. | |
int | At45dbChipErase (void) |
Erase entire flash memory chip. | |
int | At45dbPageRead (int dd, uint32_t pgn, void *data, unsigned int len) |
Read data from flash memory. | |
int | At45dbPageWrite (int dd, uint32_t pgn, CONST void *data, unsigned int len) |
Write data into flash memory. | |
uint32_t | At45dbPages (int dd) |
unsigned int | At45dbPageSize (int dd) |
int | At45dbParamRead (unsigned int pos, void *data, unsigned int len) |
Load configuration parameters from flash memory. | |
int | At45dbParamWrite (unsigned int pos, CONST void *data, unsigned int len) |
Store configuration parameters in flash memory. |
Dataflash helper routines.
* * $Log$ * Revision 1.5 2009/01/17 11:26:47 haraldkipp * Getting rid of two remaining BSD types in favor of stdint. * Replaced 'u_int' by 'unsinged int' and 'uptr_t' by 'uintptr_t'. * * Revision 1.4 2008/08/11 06:59:59 haraldkipp * BSD types replaced by stdint types (feature request #1282721). * * Revision 1.3 2008/02/15 17:10:44 haraldkipp * At45dbPageErase selected the wrong bank. Fixed. Parameter pgn (page number) * of At45dbPageWrite() changed from unsigned int to unsigned long. * New routines At45dbPages() and At45dbPageSize() allow to determine the * chip's layout. * * Revision 1.2 2006/10/08 16:48:09 haraldkipp * Documentation fixed * * Revision 1.1 2006/09/29 12:41:55 haraldkipp * Added support for AT45 serial DataFlash memory chips. Currently limited * to AT91 builds. * * *
Definition in file at45db.h.
int At45dbSendCmd | ( | int | dd, | |
uint8_t | op, | |||
uint32_t | parm, | |||
int | len, | |||
CONST void * | tdata, | |||
void * | rdata, | |||
int | datalen | |||
) |
Send DataFlash command.
dd | Device descriptor. | |
op | Command operation code. | |
parm | Command parameter. | |
len | Command length. | |
tdata | Transmit data. | |
rdata | Receive data buffer. | |
datalen | Data length. |
Definition at line 301 of file at45db.c.
References At91SpiTransfer2(), MAX_AT45_CMDLEN, and memset().
Referenced by At45dbPageErase(), At45dbPageRead(), and At45dbPageWrite().
uint8_t At45dbGetStatus | ( | int | dd | ) |
Definition at line 318 of file at45db.c.
References At91SpiTransfer2(), and DFCMD_READ_STATUS.
Referenced by At45dbInit(), and At45dbWaitReady().
int At45dbWaitReady | ( | int | dd, | |
uint32_t | tmo, | |||
int | poll | |||
) |
Wait until flash memory cycle finished.
Definition at line 333 of file at45db.c.
References At45dbGetStatus(), and NutSleep().
Referenced by At45dbPageWrite().
int At45dbInit | ( | unsigned int | spibas, | |
unsigned int | spipcs | |||
) |
Initialize dataflash at specified interface and chip select.
spibas | Interface base address. For ARM MCUs this may be the I/O base address of the hardware SPI. | |
spipcs | Device chip select. |
Definition at line 357 of file at45db.c.
References _BV, at45_devt, At45dbGetStatus(), At91SpiInit(), At91SpiInitChipSelects(), At91SpiReset(), At91SpiSetModeFlags(), At91SpiSetRate(), SPIMF_CAPRISE, SPIMF_MASTER, and SPIMF_SCKIAHI.
Referenced by At45dbParamSize().
int At45dbPageErase | ( | int | dd, | |
uint32_t | pgn | |||
) |
Erase sector at the specified offset.
Definition at line 399 of file at45db.c.
References At45dbSendCmd(), and DFCMD_PAGE_ERASE.
int At45dbChipErase | ( | void | ) |
int At45dbPageRead | ( | int | dd, | |
uint32_t | pgn, | |||
void * | data, | |||
unsigned int | len | |||
) |
Read data from flash memory.
dd | Device descriptor. | |
pgn | Page number to read, starting at 0. | |
data | Points to a buffer that receives the data. | |
len | Number of bytes to read. |
Definition at line 423 of file at45db.c.
References At45dbSendCmd(), and DFCMD_CONT_READ.
Referenced by At45dbParamRead(), and At45dbParamWrite().
int At45dbPageWrite | ( | int | dd, | |
uint32_t | pgn, | |||
CONST void * | data, | |||
unsigned int | len | |||
) |
Write data into flash memory.
The related sector must have been erased before calling this function.
dd | Device descriptor. | |
pgn | Start location within the chip, starting at 0. | |
data | Points to a buffer that contains the bytes to be written. | |
len | Number of bytes to write. |
Definition at line 441 of file at45db.c.
References AT45_WRITE_POLLS, At45dbSendCmd(), At45dbWaitReady(), DFCMD_BUF1_FLASH, DFCMD_BUF1_WRITE, free, and malloc.
Referenced by At45dbParamWrite().
int At45dbParamRead | ( | unsigned int | pos, | |
void * | data, | |||
unsigned int | len | |||
) |
Load configuration parameters from flash memory.
pos | Start location within configuration sector. | |
data | Points to a buffer that receives the contents. | |
len | Number of bytes to read. |
Definition at line 514 of file at45db.c.
References At45dbPageRead(), At45dbParamPage(), At45dbParamSize(), free, malloc, and memcpy().
Referenced by NutNvMemLoad().
int At45dbParamWrite | ( | unsigned int | pos, | |
CONST void * | data, | |||
unsigned int | len | |||
) |
Store configuration parameters in flash memory.
pos | Start location within configuration sector. | |
data | Points to a buffer that contains the bytes to store. | |
len | Number of bytes to store. |
Definition at line 540 of file at45db.c.
References At45dbPageRead(), At45dbPageWrite(), At45dbParamPage(), At45dbParamSize(), free, malloc, memcmp(), and memcpy().
Referenced by NutNvMemSave().