Danke für die Antworten erstmal!
...leider übersteigen sie mein derzeitigen Horizont etwas...

Hab noch nie was mit AVR-Assembler gemacht und kannte C bis vor kurzem auch nur von anderen Plattformen...

Kann es sein, daß das Problem ganz woanders ist, daß dir RAM oder Flash ausgeht? Oder Arrays nicht groß genug sind?
Ich glaube nicht, hab das Programm eben darauf reduziert das LCD zu initialisieren und einmal die lcd_prinft_xy_p() aufzurufen, der Compiler meldet dabei 59% Flash belegt und 55% Ram belegt.

Dann eine Frage, Du hast hier ein *.i gepastet, scheint wohl das C-File zu sein nachdem der Preprozessor die Makros expandiert hat. Beim compilieren entsteht bei mir aber kein *.i File, wie kommt man da ran?

Hab grad mal das Quellcode-Stück mit den expandierten Makros von Dir verwendet, macht kein unterschied. D.h. dann dass es nicht an der Expansion der Makros liegt, oder?

Das *.s scheint wohl der erzeugte Assembler zu sein, etwas ähnliches befindet sich bei mir in main.lss. Sieht ziemlich gleich aus wie das was Du gepastet hast, nur ohne Kommentare. Leider versteh ich fast nur Bahnhof wenn ich da reinschau...

Heisst das nun: wenn ich diesen Fehler finden und beheben will komm ich nicht drum rum mich in AVR-Assembler einzuarbeiten?

Gruß,
Basti