NorFlash
[Drivers]

Collaboration diagram for NorFlash:

Data Structures

struct  NORFLASH_Info_TypeDef
 NORFLASH device information struct. More...

Enumerations

enum  NORFLASH_Status_TypeDef {
  NORFLASH_STATUS_OK = 0,
  NORFLASH_NONUNIFORM_GEOMETRY = -1,
  NORFLASH_NOT_CFI_DEVICE = -2,
  NORFLASH_WRITE_FAILURE = -3,
  NORFLASH_WRITE_TIMEOUT = -4,
  NORFLASH_INVALID_ADDRESS = -5,
  NORFLASH_MISALIGNED_ADDRESS = -6
}
 

NORFLASH status enumerator.

More...

Functions

bool NORFLASH_AddressValid (uint32_t addr)
 Check if an address is valid for the flash device.
NORFLASH_Info_TypeDefNORFLASH_DeviceInfo (void)
 Return a pointer to a NORFLASH_Info_TypeDef, which contain vital flash device information.
int NORFLASH_EraseDevice (void)
 Erase entire flash device.
int NORFLASH_EraseSector (uint32_t addr)
 Erase a sector in the flash device.
int NORFLASH_Init (void)
 Initialize the NORFLASH module.
int NORFLASH_ProgramByte (uint32_t addr, uint8_t data)
 Program a single byte in the flash device.
int NORFLASH_ProgramWord16 (uint32_t addr, uint16_t data)
 Program a word (16bit) in the flash device.
int NORFLASH_ProgramWord32 (uint32_t addr, uint32_t data)
 Program a word (32bit) in the flash device.
int NORFLASH_Program (uint32_t addr, uint8_t *data, uint32_t count)
 Program the flash device.

Enumeration Type Documentation

NORFLASH status enumerator.

Enumerator:
NORFLASH_STATUS_OK 

No errors detected.

NORFLASH_NONUNIFORM_GEOMETRY 

The flash has non-uniform sector scheme.

NORFLASH_NOT_CFI_DEVICE 

The flash is not CFI compliant.

NORFLASH_WRITE_FAILURE 

Flash write/erase failure.

NORFLASH_WRITE_TIMEOUT 

Flash write/erase timeout.

NORFLASH_INVALID_ADDRESS 

Invalid flash address.

NORFLASH_MISALIGNED_ADDRESS 

Misaligned flash word address.

Definition at line 57 of file norflash.h.


Function Documentation

bool NORFLASH_AddressValid ( uint32_t  addr  ) 

Check if an address is valid for the flash device.

Parameters:
[in] addr The address value to check.
Returns:
True if address value is valid, false otherwise.

Definition at line 67 of file norflash.c.

References NORFLASH_Info_TypeDef::baseAddress, NORFLASH_Info_TypeDef::deviceSize, and NORFLASH_STATUS_OK.

Referenced by NORFLASH_EraseSector(), NORFLASH_Program(), and NORFLASH_ProgramWord16().

Here is the caller graph for this function:

NORFLASH_Info_TypeDef* NORFLASH_DeviceInfo ( void   ) 

Return a pointer to a NORFLASH_Info_TypeDef, which contain vital flash device information.

Returns:
NULL if unable to initialize the flash if no prior call to NORFLASH_Init() has been made. Pointer to a NORFLASH_Info_TypeDef on success.

Definition at line 92 of file norflash.c.

References NORFLASH_STATUS_OK.

int NORFLASH_EraseDevice ( void   ) 

Erase entire flash device.

Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 111 of file norflash.c.

References NORFLASH_Info_TypeDef::baseAddress, and NORFLASH_STATUS_OK.

int NORFLASH_EraseSector ( uint32_t  addr  ) 

Erase a sector in the flash device.

Parameters:
[in] addr Address of the sector to erase.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 144 of file norflash.c.

References NORFLASH_AddressValid(), NORFLASH_INVALID_ADDRESS, NORFLASH_STATUS_OK, and NORFLASH_Info_TypeDef::sectorSize.

Here is the call graph for this function:

int NORFLASH_Init ( void   ) 

Initialize the NORFLASH module.

Note:
This function should be called before any other NORFLASH_xxx() functions are used.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 188 of file norflash.c.

int NORFLASH_Program ( uint32_t  addr,
uint8_t *  data,
uint32_t  count 
)

Program the flash device.

Note:
It is assumed that the area to be programmed is erased.
Parameters:
[in] addr The first address in the flash to be programmed.
[in] data Pointer to the data to be programmed.
[in] count Number of bytes to be programmed.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 213 of file norflash.c.

References NORFLASH_AddressValid(), NORFLASH_INVALID_ADDRESS, NORFLASH_ProgramByte(), NORFLASH_ProgramWord16(), NORFLASH_STATUS_OK, and NORFLASH_Info_TypeDef::sectorSize.

Here is the call graph for this function:

int NORFLASH_ProgramByte ( uint32_t  addr,
uint8_t  data 
)

Program a single byte in the flash device.

Note:
It is assumed that the area to be programmed is erased.
Parameters:
[in] addr The address to be programmed.
[in] data The byte value to be programmed.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 303 of file norflash.c.

References NORFLASH_ProgramWord16().

Referenced by NORFLASH_Program().

Here is the call graph for this function:

Here is the caller graph for this function:

int NORFLASH_ProgramWord16 ( uint32_t  addr,
uint16_t  data 
)

Program a word (16bit) in the flash device.

Note:
It is assumed that the area to be programmed is erased.
Parameters:
[in] addr The address to be programmed.
[in] data The word value to be programmed.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 337 of file norflash.c.

References NORFLASH_AddressValid(), NORFLASH_INVALID_ADDRESS, NORFLASH_MISALIGNED_ADDRESS, and NORFLASH_STATUS_OK.

Referenced by NORFLASH_Program(), NORFLASH_ProgramByte(), and NORFLASH_ProgramWord32().

Here is the call graph for this function:

Here is the caller graph for this function:

int NORFLASH_ProgramWord32 ( uint32_t  addr,
uint32_t  data 
)

Program a word (32bit) in the flash device.

Note:
It is assumed that the area to be programmed is erased.
Parameters:
[in] addr The address to be programmed.
[in] data The word value to be programmed.
Returns:
NORFLASH_STATUS_OK on success, an error code enumerated in NORFLASH_Status_TypeDef on failure.

Definition at line 384 of file norflash.c.

References NORFLASH_MISALIGNED_ADDRESS, NORFLASH_ProgramWord16(), and NORFLASH_STATUS_OK.

Here is the call graph for this function: