diff --git a/DeviceStorage.c b/DeviceStorage.c index 369eb8e..0128a76 100644 --- a/DeviceStorage.c +++ b/DeviceStorage.c @@ -11,6 +11,8 @@ #include "HVAC_preDefine.h" #include "StorageOnFlash.h" #include "FirmwareMetadataSection.h" +#include "fc7xxx_driver_fmc.h" + #define LOGGER env->logger #define LOG_SIGN "Storage" @@ -27,14 +29,22 @@ bool DeviceStorage_LoadParam(tDeviceStorage *env) { bool isLoad = VarsTabDumpObserverParam_Load(&env->dumpObserver); - tFirmwareMetaMap *firmwareMetaMap_Boot = (tFirmwareMetaMap *) ADR_META_BOOT; - tFirmwareMetaMap *firmwareMetaMap_Main = (tFirmwareMetaMap *) ADR_META_MAIN; + FMC_API_ACTIVE_BLOCK_TYPE ActiveBank = FMCDRIVER_GetActiveBlock(FMC_INSTANCE_1); + + tFirmwareMetaMap *firmwareMetaMap_Boot; + tFirmwareMetaMap *firmwareMetaMap_Main; + + firmwareMetaMap_Boot = (tFirmwareMetaMap *) ADR_META_BOOT; + firmwareMetaMap_Main = (tFirmwareMetaMap *) ADR_META_MAIN; + memcpy(&env->dataParam->device.identification.Internal_SW_Version, &firmwareMetaMap_Main->internal_SW_Version, sizeof(tInternal_SW_Version)); - memcpy(&env->dataParam->device.identification.Boot_SW_Fingerprint, &firmwareMetaMap_Boot->fingerprint, sizeof(tFingerprintDev)); - memcpy(&env->dataParam->device.identification.Application_SW_Fingerprint, &firmwareMetaMap_Main->fingerprint, sizeof(tFingerprintDev)); + memcpy(&env->dataParam->device.identification.Boot_SW_Fingerprint, &firmwareMetaMap_Boot->fingerprint, + sizeof(tFingerprintDev)); + memcpy(&env->dataParam->device.identification.Application_SW_Fingerprint, &firmwareMetaMap_Main->fingerprint, + sizeof(tFingerprintDev)); if (isLoad) { if (env->dataParam->version_param == DEVICE_DATA_VERSION_PARAM) {