diff --git a/firmware/hw_layer/ports/cypress/backup_ram.cpp b/firmware/hw_layer/ports/cypress/backup_ram.cpp index 9b66250127..47f1cdd408 100644 --- a/firmware/hw_layer/ports/cypress/backup_ram.cpp +++ b/firmware/hw_layer/ports/cypress/backup_ram.cpp @@ -22,6 +22,7 @@ const size_t backupSize = (BACKUP_RAM_NUM + 1) * sizeof(uint32_t); static void backupInit() { static_assert(backupSize <= BACKUP_FLASH_SIZE, "Backup flash overflow"); + static_assert(BACKUP_FLASH_ADDR != (flashaddr_t)nullptr, "Backup address undefined"); // first, load the whole buffer into the memory intFlashRead((flashaddr_t)BACKUP_FLASH_ADDR, (char *)backupRam, backupSize); @@ -34,7 +35,7 @@ static void backupInit() { // we cannot trust the saved data anymore, until it's saved in backupRamFlush() // so we mark is as 'pending' backupRam[backupStateOffset] = BACKUP_PENDING; - intFlashWrite(BACKUP_FLASH_ADDR + backupStateOffset, (char *)backupRam, sizeof(backupRam[backupStateOffset])); + intFlashWrite((flashaddr_t)BACKUP_FLASH_ADDR + backupStateOffset, (char *)backupRam, sizeof(backupRam[backupStateOffset])); wasLoaded = true; }