* * $Log: at45db.h,v $ * 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.
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 (u_int spibas, u_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, u_int len) |
Read data from flash memory. | |
int | At45dbPageWrite (int dd, uint32_t pgn, CONST void *data, u_int len) |
Write data into flash memory. | |
uint32_t | At45dbPages (int dd) |
u_int | At45dbPageSize (int dd) |
int | At45dbParamRead (u_int pos, void *data, u_int len) |
Load configuration parameters from flash memory. | |
int | At45dbParamWrite (u_int pos, CONST void *data, u_int len) |
Store configuration parameters in flash memory. |
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 291 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 308 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 323 of file at45db.c.
References At45dbGetStatus(), and NutSleep().
Referenced by At45dbPageWrite().
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 347 of file at45db.c.
References _BV, at45_devt, At45dbGetStatus(), At91SpiInit(), At91SpiInitChipSelects(), At91SpiReset(), At91SpiSetModeFlags(), At91SpiSetRate(), MAX_AT45_DEVICES, 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 389 of file at45db.c.
References At45dbSendCmd(), and DFCMD_PAGE_ERASE.
int At45dbChipErase | ( | void | ) |
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 413 of file at45db.c.
References At45dbSendCmd(), and DFCMD_CONT_READ.
Referenced by At45dbParamRead(), and At45dbParamWrite().
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 431 of file at45db.c.
References AT45_WRITE_POLLS, At45dbSendCmd(), At45dbWaitReady(), DFCMD_BUF1_FLASH, DFCMD_BUF1_WRITE, free, and malloc.
Referenced by At45dbParamWrite().
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 504 of file at45db.c.
References At45dbPageRead(), At45dbParamPage(), At45dbParamSize(), free, malloc, and memcpy().
Referenced by NutNvMemLoad().
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 530 of file at45db.c.
References At45dbPageRead(), At45dbPageWrite(), At45dbParamPage(), At45dbParamSize(), free, malloc, memcmp(), and memcpy().
Referenced by NutNvMemSave().