The variable should be double_word in the HAL_FLASH_Program(...) function; not doubleWord
#elif (defined FLASH_TYPEPROGRAM_DOUBLEWORD)
/* writing buffer to flash */
for (uint32_t i = 0; i < ee_handle.size; i += 8)
{
uint64_t double_word;
memcpy((uint8_t*)&double_word, data, 8);
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, ee_handle.address + i, doubleWord) != HAL_OK)
{
answer = false;
break;
}
data += 8;
}