1.1.4.4.1 DRV_NAND_FLASH_Initialize Function
C
SYS_MODULE_OBJ DRV_NAND_FLASH_Initialize
(
const SYS_MODULE_INDEX drvIndex,
const SYS_MODULE_INIT *const init
)Summary
Initializes the NAND FLASH Driver
Description
This routine initializes the NAND FLASH driver making it ready for client to use.
- Get the data address of NAND Flash
Precondition
None.
Parameters
| Param | Description |
|---|---|
| drvIndex | Identifier for the instance to be initialized |
| init | Pointer to a data structure containing any data necessary to initialize the driver. |
Returns
If successful, returns a valid handle to a driver instance object. Otherwise it returns SYS_MODULE_OBJ_INVALID.
Example
// This code snippet shows an example of initializing the NAND FLASH Driver
// with NAND FLASH device attached.
SYS_MODULE_OBJ objectHandle;
const DRV_NAND_FLASH_PLIB_INTERFACE drvNandFlashPlibAPI = {
.DataAddressGet = SMC_DataAddressGet,
.CommandWrite = SMC_CommandWrite,
.CommandWrite16 = SMC_CommandWrite16,
.AddressWrite = SMC_AddressWrite,
.AddressWrite16 = SMC_AddressWrite16,
.DataWrite = SMC_DataWrite,
.DataWrite16 = SMC_DataWrite16,
.DataRead = SMC_DataRead,
.DataRead16 = SMC_DataRead16,
.DataPhaseStart = PMECC_DataPhaseStart,
.StatusIsBusy = PMECC_StatusIsBusy,
.ErrorGet = PMECC_ErrorGet,
.RemainderGet = PMECC_RemainderGet,
.ECCGet = PMECC_ECCGet,
.ErrorLocationGet = PMERRLOC_ErrorLocationGet,
.ErrorLocationDisable = PMERRLOC_ErrorLocationDisable,
.SigmaSet = PMERRLOC_SigmaSet,
.ErrorLocationFindNumOfRoots = PMERRLOC_ErrorLocationFindNumOfRoots
};
const DRV_NAND_FLASH_INIT drvNandFlashInitData =
{
.nandFlashPlib = &drvNandFlashPlibAPI,
};
objectHandle = DRV_NAND_FLASH_Initialize((SYS_MODULE_INDEX)DRV_NAND_FLASH_INDEX, (SYS_MODULE_INIT *)&drvNandFlashInitData);
if (SYS_MODULE_OBJ_INVALID == objectHandle)
{
// Handle error
}Remarks
This routine must be called before any other NAND FLASH driver routine is called.
This routine should only be called once during system initialization.
