S32 SDK
Flash_mx25l6433f_drv

Detailed Description

Data Structures

struct  flash_mx25l6433f_user_config_t
 Driver configuration structure. More...
 
struct  flash_mx25l6433f_state_t
 Driver internal context structure. More...
 
struct  flash_mx25l6433f_secure_lock_t
 Flash protection settings Implements : flash_mx25l6433f_secure_lock_t_Class. More...
 

Enumerations

enum  flash_mx25l6433f_prot_dir_t { FLASH_MX25L6433F_PROT_DIR_TOP = 0x00U, FLASH_MX25L6433F_PROT_DIR_BOTTOM = 0x01U }
 Flash protection direction Implements : flash_mx25l6433f_prot_dir_t_Class. More...
 
enum  flash_mx25l6433f_drv_strength_t { FLASH_MX25L6433F_DRV_STRENGTH_HIGH = 0x00U, FLASH_MX25L6433F_DRV_STRENGTH_LOW = 0x01U }
 Flash device drive strength Implements : flash_mx25l6433f_drv_strength_t_Class. More...
 
enum  flash_mx25l6433f_prot_size_t {
  FLASH_MX25L6433F_PROT_SIZE_0 = 0x00U, FLASH_MX25L6433F_PROT_SIZE_64K = 0x01U, FLASH_MX25L6433F_PROT_SIZE_128K = 0x02U, FLASH_MX25L6433F_PROT_SIZE_256K = 0x03U,
  FLASH_MX25L6433F_PROT_SIZE_512K = 0x04U, FLASH_MX25L6433F_PROT_SIZE_1M = 0x05U, FLASH_MX25L6433F_PROT_SIZE_2M = 0x06U, FLASH_MX25L6433F_PROT_SIZE_4M = 0x07U,
  FLASH_MX25L6433F_PROT_SIZE_8M = 0x08U
}
 Size of flash protected area Implements : flash_mx25l6433f_prot_size_t_Class. More...
 

FLASH_MX25L6433F Driver

status_t FLASH_MX25L6433F_DRV_Init (uint32_t instance, const flash_mx25l6433f_user_config_t *userConfigPtr, flash_mx25l6433f_state_t *state)
 Initializes the serial flash memory driver. More...
 
status_t FLASH_MX25L6433F_DRV_Deinit (uint32_t instance)
 De-initialize the MX25L6433F flash driver. More...
 
status_t FLASH_MX25L6433F_DRV_SetProtection (uint32_t instance, flash_mx25l6433f_prot_dir_t direction, flash_mx25l6433f_prot_size_t size)
 Configure protected area of the device. More...
 
status_t FLASH_MX25L6433F_DRV_GetProtection (uint32_t instance, flash_mx25l6433f_prot_dir_t *direction, flash_mx25l6433f_prot_size_t *size)
 Get protected area of the device. More...
 
status_t FLASH_MX25L6433F_DRV_SetSecureLock (uint32_t instance)
 Locks the customer sector of the secured OTP area. More...
 
status_t FLASH_MX25L6433F_DRV_GetSecureLock (uint32_t instance, flash_mx25l6433f_secure_lock_t *lock)
 Get lock status of the secured OTP area. More...
 
status_t FLASH_MX25L6433F_DRV_Read (uint32_t instance, uint32_t address, uint8_t *data, uint32_t size)
 Read data from serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_Erase4K (uint32_t instance, uint32_t address)
 Erase a 4k sector in the serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_Erase32K (uint32_t instance, uint32_t address)
 Erase a 32k block in the serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_Erase64K (uint32_t instance, uint32_t address)
 Erase a 64k block in the serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_EraseAll (uint32_t instance)
 Erases the entire serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_EraseVerify (uint32_t instance, uint32_t address, uint32_t size)
 Checks whether or not an area in the serial flash is erased. More...
 
status_t FLASH_MX25L6433F_DRV_Program (uint32_t instance, uint32_t address, uint8_t *data, uint32_t size)
 Writes data in serial flash. More...
 
status_t FLASH_MX25L6433F_DRV_ProgramVerify (uint32_t instance, uint32_t address, const uint8_t *data, uint32_t size)
 Verifies the correctness of the programmed data. More...
 
status_t FLASH_MX25L6433F_DRV_GetStatus (uint32_t instance)
 Get the status of the last operation. More...
 
status_t FLASH_MX25L6433F_DRV_Reset (uint32_t instance)
 Reset the serial flash device. More...
 
status_t FLASH_MX25L6433F_DRV_EnterOTP (uint32_t instance)
 Enters OTP mode. More...
 
status_t FLASH_MX25L6433F_DRV_ExitOTP (uint32_t instance)
 Exits OTP mode. More...
 
status_t FLASH_MX25L6433F_DRV_EnterDPD (uint32_t instance)
 Enters Deep Power Down mode. More...
 
status_t FLASH_MX25L6433F_DRV_ExitDPD (uint32_t instance)
 Exits Deep Power Down mode. More...
 

Enumeration Type Documentation

Flash device drive strength Implements : flash_mx25l6433f_drv_strength_t_Class.

Enumerator
FLASH_MX25L6433F_DRV_STRENGTH_HIGH 

Full driver strength.

FLASH_MX25L6433F_DRV_STRENGTH_LOW 

Low (1/4) driver strength.

Definition at line 50 of file flash_mx25l6433f_driver.h.

Flash protection direction Implements : flash_mx25l6433f_prot_dir_t_Class.

Enumerator
FLASH_MX25L6433F_PROT_DIR_TOP 

Top flash area protected.

FLASH_MX25L6433F_PROT_DIR_BOTTOM 

Bottom flash area protected.

Definition at line 40 of file flash_mx25l6433f_driver.h.

Size of flash protected area Implements : flash_mx25l6433f_prot_size_t_Class.

Enumerator
FLASH_MX25L6433F_PROT_SIZE_0 

Entire flash unprotected.

FLASH_MX25L6433F_PROT_SIZE_64K 

64k flash area protected.

FLASH_MX25L6433F_PROT_SIZE_128K 

128k flash area protected.

FLASH_MX25L6433F_PROT_SIZE_256K 

256k flash area protected.

FLASH_MX25L6433F_PROT_SIZE_512K 

512k flash area protected.

FLASH_MX25L6433F_PROT_SIZE_1M 

1M flash area protected.

FLASH_MX25L6433F_PROT_SIZE_2M 

2M flash area protected.

FLASH_MX25L6433F_PROT_SIZE_4M 

4M flash area protected.

FLASH_MX25L6433F_PROT_SIZE_8M 

Entire flash area protected.

Definition at line 60 of file flash_mx25l6433f_driver.h.

Function Documentation

status_t FLASH_MX25L6433F_DRV_Deinit ( uint32_t  instance)

De-initialize the MX25L6433F flash driver.

This function de-initializes the MX25L6433F flash driver. The driver can't be used again until reinitialized. The context structure is no longer needed by the driver and can be freed after calling this function.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 561 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_EnterDPD ( uint32_t  instance)

Enters Deep Power Down mode.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 1044 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_EnterOTP ( uint32_t  instance)

Enters OTP mode.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 1002 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Erase32K ( uint32_t  instance,
uint32_t  address 
)

Erase a 32k block in the serial flash.

Parameters
instanceQuadSPI peripheral instance number
addressAddress of block to be erased
Returns
Error or success status returned by API

Definition at line 768 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Erase4K ( uint32_t  instance,
uint32_t  address 
)

Erase a 4k sector in the serial flash.

Parameters
instanceQuadSPI peripheral instance number
addressAddress of sector to be erased
Returns
Error or success status returned by API

Definition at line 741 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Erase64K ( uint32_t  instance,
uint32_t  address 
)

Erase a 64k block in the serial flash.

Parameters
instanceQuadSPI peripheral instance number
addressAddress of block to be erased
Returns
Error or success status returned by API

Definition at line 795 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_EraseAll ( uint32_t  instance)

Erases the entire serial flash.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 822 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_EraseVerify ( uint32_t  instance,
uint32_t  address,
uint32_t  size 
)

Checks whether or not an area in the serial flash is erased.

Parameters
instanceQuadSPI peripheral instance number
addressStart address of area to be verified
sizeSize of area to be verified
Returns
Error or success status returned by API

Definition at line 849 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_ExitDPD ( uint32_t  instance)

Exits Deep Power Down mode.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 1065 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_ExitOTP ( uint32_t  instance)

Exits OTP mode.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 1023 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_GetProtection ( uint32_t  instance,
flash_mx25l6433f_prot_dir_t direction,
flash_mx25l6433f_prot_size_t size 
)

Get protected area of the device.

Parameters
instanceQuadSPI peripheral instance number
directionLocation of protected area (top or bottom)
sizeSize of protected area
Returns
Error or success status returned by API

Definition at line 614 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_GetSecureLock ( uint32_t  instance,
flash_mx25l6433f_secure_lock_t lock 
)

Get lock status of the secured OTP area.

Parameters
instanceQuadSPI peripheral instance number
lockLock status of the secured OTP area
Returns
Error or success status returned by API

Definition at line 682 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_GetStatus ( uint32_t  instance)

Get the status of the last operation.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 937 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Init ( uint32_t  instance,
const flash_mx25l6433f_user_config_t userConfigPtr,
flash_mx25l6433f_state_t state 
)

Initializes the serial flash memory driver.

This function initializes the MX25L6433F flash driver and prepares it for operation.

Parameters
instanceQuadSPI peripheral instance number
userConfigPtrPointer to the MX25L6433F flash driver user configuration structure. The function reads configuration data from this structure and initializes the driver accordingly. The application may free this structure after the function returns.
masterPointer to the MX25L6433F flash driver context structure. The driver uses this memory area for its internal logic. The application must make no assumptions about the content of this structure, and must not free this memory until the driver is de-initialized using FLASH_MX25L6433F_DRV_Deinit().
Returns
Error or success status returned by API

Definition at line 522 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Program ( uint32_t  instance,
uint32_t  address,
uint8_t *  data,
uint32_t  size 
)

Writes data in serial flash.

Parameters
instanceQuadSPI peripheral instance number
addressStart address of area to be programmed
dataData to be programmed in flash
sizeSize of data buffer
Returns
Error or success status returned by API

Definition at line 872 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_ProgramVerify ( uint32_t  instance,
uint32_t  address,
const uint8_t *  data,
uint32_t  size 
)

Verifies the correctness of the programmed data.

Parameters
instanceQuadSPI peripheral instance number
addressStart address of area to be verified
dataData to be verified
sizeSize of data buffer
Returns
Error or success status returned by API

Definition at line 911 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Read ( uint32_t  instance,
uint32_t  address,
uint8_t *  data,
uint32_t  size 
)

Read data from serial flash.

Parameters
instanceQuadSPI peripheral instance number
addressStart address for read operation
dataBuffer where to store read data
sizeSize of data buffer
Returns
Error or success status returned by API

Definition at line 709 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_Reset ( uint32_t  instance)

Reset the serial flash device.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 977 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_SetProtection ( uint32_t  instance,
flash_mx25l6433f_prot_dir_t  direction,
flash_mx25l6433f_prot_size_t  size 
)

Configure protected area of the device.

This function configures the size and location (top or bottom) of protected area. Note that due to device limitations, once the protected area is set to BOTTOM it cannot be changed back (the setting is "one time program")

Parameters
instanceQuadSPI peripheral instance number
directionLocation of protected area (top or bottom)
sizeSize of protected area
Returns
Error or success status returned by API

Definition at line 578 of file flash_mx25l6433f_driver.c.

status_t FLASH_MX25L6433F_DRV_SetSecureLock ( uint32_t  instance)

Locks the customer sector of the secured OTP area.

Parameters
instanceQuadSPI peripheral instance number
Returns
Error or success status returned by API

Definition at line 656 of file flash_mx25l6433f_driver.c.