DRV_AT25DF_Initialize Function
C
SYS_MODULE_OBJ DRV_AT25DF_Initialize(
const SYS_MODULE_INDEX drvIndex,
const SYS_MODULE_INIT * const init
)
Summary
Initializes the AT25DF FLASH device
Description
This routine initializes the AT25DF FLASH device driver making it ready for clients to open and use. The initialization data is specified by the init parameter. It is a single instance driver, so this API should be called only once.
Precondition
None.
Parameters
Param | Description |
---|---|
drvIndex | Identifier for the instance to be initialized. |
init | Pointer to the init data structure containing any data necessary to initialize the driver. |
Returns
If successful, returns a valid handle to a driver instance object. Otherwise, returns SYS_MODULE_OBJ_INVALID.
Example
SYS_MODULE_OBJ sysObjDrvAT25DF;
DRV_AT25DF_PLIB_INTERFACE drvAT25DFPlibAPI = {
.writeRead = (DRV_AT25DF_PLIB_WRITE_READ)SPI0_WriteRead,
.write = (DRV_AT25DF_PLIB_WRITE)SPI0_Write,
.read = (DRV_AT25DF_PLIB_READ)SPI0_Read,
.isBusy = (DRV_AT25DF_PLIB_IS_BUSY)SPI0_IsBusy,
.callbackRegister = (DRV_AT25DF_PLIB_CALLBACK_REGISTER)SPI0_CallbackRegister,
};
DRV_AT25DF_INIT drvAT25DFInitData = {
.spiPlib = &drvAT25DFPlibAPI,
.numClients = DRV_AT25DF_CLIENTS_NUMBER_IDX,
.pageSize = DRV_AT25DF_PAGE_SIZE,
.flashSize = DRV_AT25DF_FLASH_SIZE,
.blockStartAddress = 0x0,
.chipSelectPin = DRV_AT25DF_CHIP_SELECT_PIN_IDX
};
sysObjDrvAT25DF = DRV_AT25DF_Initialize(DRV_AT25DF_INDEX, (SYS_MODULE_INIT *)&drvAT25DFInitData);
Remarks
This routine must be called before any other DRV_AT25DF routine is called.
This routine should only be called once during system initialization.