1.1.3.4.14 DRV_MEMORY_GeometryGet Function
C
SYS_MEDIA_GEOMETRY* DRV_MEMORY_GeometryGet
(
const DRV_HANDLE handle
);Summary
Returns the geometry of the memory device.
Description
This API gives the following geometrical details of the attached memory device:
- Media Property
- Number of Read/Write/Erase regions in the memory device
- Number of Blocks and their size in each region of the device
Precondition
The DRV_MEMORY_Open() routine must have been called to obtain a valid opened device handle.
Parameters
| Param | Description |
|---|---|
| handle | A valid open-instance handle, returned from the driver's open function |
Returns
SYS_MEDIA_GEOMETRY - Pointer to structure which holds the media geometry information.
Example
SYS_MEDIA_GEOMETRY geometry;
uint32_t readBlockSize, writeBlockSize, eraseBlockSize;
uint32_t nReadBlocks, nReadRegions, totalFlashSize;
if (true != DRV_MEMORY_GeometryGet(&geometry))
{
// Handle Error
}
readBlockSize = geometry.geometryTable[SYS_MEDIA_GEOMETRY_TABLE_READ_ENTRY].blockSize;
nReadBlocks = geometry.geometryTable[SYS_MEDIA_GEOMETRY_TABLE_READ_ENTRY].numBlocks;
nReadRegions = geometry.numReadRegions;
writeBlockSize = geometry.geometryTable[SYS_MEDIA_GEOMETRY_TABLE_WRITE_ENTRY].blockSize;
eraseBlockSize = geometry.geometryTable[SYS_MEDIA_GEOMETRY_TABLE_ERASE_ENTRY].blockSize;
totalFlashSize = readBlockSize * nReadBlocks * nReadRegions;
Remarks
Refer sys_media.h for definition of SYS_MEDIA_GEOMETRY.
