unsigned int NorFlash_GetDeviceNumOfBlocks(struct NorFlashInfo *pNorFlashInfo) { unsigned char i; unsigned int blocks = 0; unsigned short numBlockRegion; numBlockRegion = pNorFlashInfo->cfiDescription.norFlashCfiDeviceGeometry.numEraseRegion; for (i = 0; i < numBlockRegion; i++) { blocks += (pNorFlashInfo->cfiDescription.norFlashCfiDeviceGeometry.eraseRegionInfo[i]).Y + 1; } return blocks; }