und im Flash ist doch der ProgrammCode gespeichert oder?
Ja. Speichertechnisch sieht es so aus, dass erst die PROGMEM Konstanten kommen und danach der Programmcode
Das F-Makro geht nur mit String Konstanten. Der Wert muss zur Compile-Zeit feststehen. Du hast da erstens einen int und zweitens keine Konstante.
Das geht:
Serial.println(getFreeRAM());
Liefert den freien Speicher in Bytes