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.