Erstens mal gibt es in CodevisionAVR die Funktion uart_puts nicht,
ausser du schreibst sie selbst oder bindest eine (externe!) Lib ein, die
diese Funktion zur Verfügung stellt.
Es gibt die Funktion puts, die einen String aus dem RAM auf der
seriellen Schnittstelle ausgibt, und es gibt die Funktion putsf, die
einen String aus dem FLASH auf der seriellen Schnittstelle ausgibt.
Beide Funktionen sind in der Lib stdio.h vorhanden.
Wenn du einer Funktion, die einen Zeiger auf Daten im RAM erwartet,
einen Zeiger auf Daten im FLASH übergibst, bekommst du den geschilderten
Fehler.
Hinweis: CR wird während des Kompilierens als Konstante im FLASH
gespeichert.
Vielleicht solltest du dir erstmal ausführlich die Hilfe zu
CodevisionAVR ansehen, bevor du mit diesem Kompiler arbeitest.