#include "driverSWStorageManager.h" uint16_t *driverHWEEPROMVirtAddVarTab; bool driverSWStorageManagerConfigEmpty = false; bool driverSWStorageManagerStateOfChargeEmpty = false; uint16_t driverSWStorageManagerDataSize = 0; uint16_t driverSWStorageManagerConfigStructSize = 0; uint16_t driverSWStorageManagerStateOfChargeStructSize = 0; void driverSWStorageManagerInit(void) { driverSWStorageManagerDataSize = driverSWStorageManagerConfigStructSize + driverSWStorageManagerStateOfChargeStructSize;// Calculate the total desired space // Generate EEPROM enviroment driverHWEEPROMVirtAddVarTab = malloc(driverSWStorageManagerDataSize*sizeof(uint16_t)); // Make room for the addres array HAL_FLASH_Unlock(); // Unlock FLASH to allow EEPROM lib to write if(driverHWEEPROMInit(driverSWStorageManagerDataSize) != HAL_OK) // Init EEPROM and tell EEPROM manager the disered size while(true); // Something went wrong in the init for(uint16_t addresPointer=0 ; addresPointer