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.