Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

XgAt91Efc


Defines

#define FLASH_CHIP_BASE   0x00100000
 Base address of the flash memory chip.
#define FLASH_CONF_SECTOR   0x0003FF00
 Address offset of the configuration sector.
#define FLASH_CONF_SIZE   256
 Size of the configuration area.
#define FLASH_WRITE_WAIT   60000
#define FLASH_ERASE_WAIT   60000
#define FLASH_CHIP_ERASE_WAIT   600000

Typedefs

typedef u_long flashdat_t
typedef unsigned long flashadr_t
typedef volatile flashdat_t * flashptr_t

Functions

RAMFUNC int At91EfcCmd (u_int cmd, u_long tmo)
 Execute flash controller command.
int At91EfcSectorRead (u_int off, void *data, u_int len)
 Read data from flash memory.
int At91EfcSectorWrite (u_int off, CONST void *data, u_int len)
 Write data into flash memory.
int At91EfcSectorErase (u_int off)
 Erase sector at the specified offset.
int At91EfcRegionLock (u_int off)
 Lock specified region.
int At91EfcRegionUnlock (u_int off)
 Unlock specified region.
int At91EfcParamRead (u_int pos, void *data, u_int len)
 Load configuration parameters from embedded flash memory.
int At91EfcParamWrite (u_int pos, CONST void *data, u_int len)
 Store configuration parameters in embedded flash memory.


Define Documentation

#define FLASH_CONF_SIZE   256
 

Size of the configuration area.

During write operations a buffer with this size is allocated from heap and may cause memory problems with large sectors. Thus, this value may be less than the size of the configuration sector, in which case the rest of the sector is unused.

Currently only 1 sector can be used for system configurations.


Function Documentation

RAMFUNC int At91EfcCmd u_int  cmd,
u_long  tmo
 

Execute flash controller command.

This routine must not be located in internal flash memory.

int At91EfcSectorRead u_int  off,
void *  data,
u_int  len
 

Read data from flash memory.

Parameters:
off Start location within the chip, starting at 0.
data Points to a buffer that receives the data.
len Number of bytes to read.
Returns:
Always 0.

int At91EfcSectorWrite u_int  off,
CONST void *  data,
u_int  len
 

Write data into flash memory.

The related sector will be automatically erased before writing.

Parameters:
off Start location within the chip, starting at 0.
data Points to a buffer that contains the bytes to be written. If this is a NULL pointer, then the sector will be reased.
len Number of bytes to write, 1 full sector max.
Returns:
0 on success or -1 in case of an error.

int At91EfcRegionLock u_int  off  ) 
 

Lock specified region.

Parameters:
off Location within the region to be locked.
Returns:
0 on success or -1 in case of an error.

int At91EfcRegionUnlock u_int  off  ) 
 

Unlock specified region.

Parameters:
off Location within the region to be unlocked.
Returns:
0 on success or -1 in case of an error.

int At91EfcParamRead u_int  pos,
void *  data,
u_int  len
 

Load configuration parameters from embedded flash memory.

Applications should call NutNvMemLoad().

Parameters:
pos Start location within configuration sector.
data Points to a buffer that receives the contents.
len Number of bytes to read.
Returns:
Always 0.

int At91EfcParamWrite u_int  pos,
CONST void *  data,
u_int  len
 

Store configuration parameters in embedded flash memory.

Applications should call NutNvMemSave().

The region that contains the configuration sector will be automatically locked.

Parameters:
pos Start location within configuration sector.
data Points to a buffer that contains the bytes to store.
len Number of bytes to store.
Returns:
0 on success or -1 in case of an error.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/