Hallo,
ich bin mir ziemlich sicher, dass auch bei der Variante mit
Serial.println("ne menge Text");
der String im Datenbereich abgelegt wird, auch wenn dafür keine Variable (mit einem eigenen Namen) existiert. Und Daten landen landen bei einem AVR halt standardmäßig erst einmal im RAM.
Zusätzliche Informationen zum Speichern von Daten im Program Space findet man unter folgendem Link:
http://www.nongnu.org/avr-libc/user-manual/pgmspace.htmlAus diesem Dokument stammen wohl auch die Informationen aus der von Uwe zitierten Arduino-Referenz.
@Snail: Ich würde vorschlagen, den "Monster-String" mit PROGMEM im Programm-Bereich abzulegen, aber dann musst du wohl zur Ausgabe mit Serial.Println() den Monster-String stückchenweise in einen Puffer zurückkopieren und stückchenweise ausgeben, da Serial.println() wahrscheinlich nicht mit dem ge"PROGMEM"ten Speicher direkt umgehen kann.
Und bei der Größe des Puffers solltest du natürlich wiederum nicht zu großzügig sein, denn RAM ist ein kostbar Gut

Leider hab' ich Moment keine Zeit, es selber auszuprobieren, aber aber wäre nett, wenn du uns mal deine Ergebnisse mitteilen würdest.
Gruß
Wolfgang