1.1.4.4.2 DRV_NAND_FLASH_Open Function
C
DRV_HANDLE DRV_NAND_FLASH_Open( const SYS_MODULE_INDEX drvIndex, const DRV_IO_INTENT ioIntent )
Summary
Opens the specified NAND FLASH driver instance and returns a handle to it
Description
This routine opens the specified NAND FLASH driver instance and provides a handle.
This handle must be provided to all other client-level operations to identify the caller and the instance of the driver.
Reset NAND Flash
Gets and stores NAND Flash Geometry to use in driver
Initializes PMECC descriptor if PMECC is enabled
Preconditions
Function DRV_NAND_FLASH_Initialize must have been called before calling this function. Driver should be in ready state to accept the request. Can be checked by calling DRV_NAND_FLASH_Status().
Parameters
Param | Description |
---|---|
drvIndex | Identifier for the instance to be opened |
ioIntent | Zero or more of the values from the enumeration DRV_IO_INTENT "ORed" together to indicate the intended use of the driver |
Returns
If successful, the routine returns a valid open-instance handle (a number identifying both the caller and the module instance).
If an error occurs, DRV_HANDLE_INVALID is returned. Errors can occur under the following circumstances:
If the driver hardware instance being opened is not initialized.
Fail to reset NAND Flash OR fail to read NAND Flash Geometry
Invalid PMECC configurations for NAND Flash if PMECC is enabled
Example
DRV_HANDLE handle; handle = DRV_NAND_FLASH_Open((SYS_MODULE_INDEX)DRV_NAND_FLASH_INDEX, DRV_IO_INTENT_READWRITE); if (DRV_HANDLE_INVALID == handle) { // Unable to open the driver }
Remarks
The handle returned is valid until the DRV_NAND_FLASH_Close routine is called.
If the driver has already been opened, it should not be opened again. This routine will block wait for hardware access.