LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
eeprom_001.h File Reference
#include "sys_config.h"
#include "cmsis.h"

Go to the source code of this file.

Data Structures

struct  IP_EEPROM_001_T
 EEPROM register block structure. More...
 

Macros

#define EEPROM_PAGE_SIZE   64
 
#define EEPROM_PAGE_NUM   63
 
#define EEPROM_CMD_8BITS_READ   (0)
 
#define EEPROM_CMD_16BITS_READ   (1)
 
#define EEPROM_CMD_32BITS_READ   (2)
 
#define EEPROM_CMD_8BITS_WRITE   (3)
 
#define EEPROM_CMD_16BITS_WRITE   (4)
 
#define EEPROM_CMD_32BITS_WRITE   (5)
 
#define EEPROM_CMD_ERASE_PRG_PAGE   (6)
 
#define EEPROM_CMD_RDPREFETCH   (1 << 3)
 
#define EEPROM_PWRDWN   (1 << 0)
 
#define EEPROM_INT_ENDOFRW   (1 << 26)
 
#define EEPROM_INT_ENDOFPROG   (1 << 28)
 

Enumerations

enum  IP_EEPROM_RWSIZE_T { EEPROM_RWSIZE_8BITS = 1, EEPROM_RWSIZE_16BITS = 2, EEPROM_RWSIZE_32BITS = 4 }
 EEPROM Mode type definition. More...
 

Functions

STATIC INLINE void IP_EEPROM_SetCmd (IP_EEPROM_001_T *pEEPROM, uint32_t cmd)
 Select an EEPROM command.
 
STATIC INLINE void IP_EEPROM_SetAddr (IP_EEPROM_001_T *pEEPROM, uint32_t pageAddr, uint32_t pageOffset)
 Set EEPROM address.
 
STATIC INLINE void IP_EEPROM_WriteData (IP_EEPROM_001_T *pEEPROM, uint32_t data)
 Write EEPROM data.
 
STATIC INLINE uint32_t IP_EEPROM_ReadData (IP_EEPROM_001_T *pEEPROM)
 Read EEPROM data.
 
STATIC INLINE void IP_EEPROM_SetWaitState (IP_EEPROM_001_T *pEEPROM, uint32_t ws)
 Set EEPROM wait state.
 
STATIC INLINE void IP_EEPROM_EnablePowerDown (IP_EEPROM_001_T *pEEPROM)
 Put EEPROM device in power down mode.
 
STATIC INLINE void IP_EEPROM_DisablePowerDown (IP_EEPROM_001_T *pEEPROM)
 Bring EEPROM device out of power down mode.
 
STATIC INLINE void IP_EEPROM_EnableInt (IP_EEPROM_001_T *pEEPROM, uint32_t mask)
 Enable EEPROM interrupt.
 
STATIC INLINE void IP_EEPROM_DisableInt (IP_EEPROM_001_T *pEEPROM, uint32_t mask)
 Disable EEPROM interrupt.
 
STATIC INLINE uint32_t IP_EEPROM_GetIntEnable (IP_EEPROM_001_T *pEEPROM)
 Get the value of the EEPROM interrupt enable register.
 
STATIC INLINE uint32_t IP_EEPROM_GetIntStatus (IP_EEPROM_001_T *pEEPROM)
 Get EEPROM interrupt status.
 
STATIC INLINE void IP_EEPROM_SetIntStatus (IP_EEPROM_001_T *pEEPROM, uint32_t mask)
 Set EEPROM interrupt status.
 
STATIC INLINE void IP_EEPROM_ClearIntStatus (IP_EEPROM_001_T *pEEPROM, uint32_t mask)
 Clear EEPROM interrupt status.
 
void IP_EEPROM_Init (IP_EEPROM_001_T *pEEPROM, uint32_t div)
 Initializes EEPROM.
 
STATIC INLINE void IP_EEPROM_DeInit (IP_EEPROM_001_T *pEEPROM)
 De-initializes EEPROM.
 
void IP_EEPROM_ErasePageRegister (IP_EEPROM_001_T *pEEPROM)
 Erase data in page register.
 
uint32_t IP_EEPROM_WritePageRegister (IP_EEPROM_001_T *pEEPROM, uint16_t pageOffset, uint8_t *pData, uint8_t wsize, uint32_t byteNum)
 Write data to page register.
 
uint32_t IP_EEPROM_ReadPage (IP_EEPROM_001_T *pEEPROM, uint16_t pageOffset, uint16_t pageAddr, uint8_t *pData, uint8_t rsize, uint32_t byteNum)
 Read data from non-volatile memory.
 
void IP_EEPROM_EraseProgramPage (IP_EEPROM_001_T *pEEPROM, uint16_t pageAddr)
 Erase/Program an EEPROM page.
 
void IP_EEPROM_WaitForIntStatus (IP_EEPROM_001_T *pEEPROM, uint32_t mask)
 Wait for interrupt occurs.
 
Status IP_EEPROM_Write (IP_EEPROM_001_T *pEEPROM, uint16_t pageOffset, uint16_t pageAddr, void *pData, IP_EEPROM_RWSIZE_T wsize, uint32_t byteNum)
 Write data to EEPROM at specific address.
 
Status IP_EEPROM_Read (IP_EEPROM_001_T *pEEPROM, uint16_t pageOffset, uint16_t pageAddr, void *pData, IP_EEPROM_RWSIZE_T rsize, uint32_t byteNum)
 Read data to EEPROM at specific address.
 
void IP_EEPROM_Erase (IP_EEPROM_001_T *pEEPROM, uint16_t pageAddr)
 Erase a page at the specific address.