Forum: Compiler & IDEs avr-gcc wie gehts richtig mit PSTR


von Joachim B. (jar)


Lesenswert?

aus
sprintf(s_out_str, "hellxx (%d)-(%d)", MIN_BL, MAX_BL);

sprintf_P(s_out_str, "hellxx (%d)-(%d)", MIN_BL, MAX_BL);
oder
sprintf_P(s_out_str, PSTR("hellxx (%d)-(%d)"), MIN_BL, MAX_BL);
oder
sprintf(s_out_str, PSTR("hellxx (%d)-(%d)"), MIN_BL, MAX_BL);

???
welche Version ist richtig, funktioniert und spart SRAM?

Ich versuche alle Möglichkeiten, mal wird der Code zu groß, mal geht mir 
das SRAM aus

: Verschoben durch Admin
von Timmo H. (masterfx)


Lesenswert?

Nur 2 richtig und spart RAM, aber in diesem Fall ist das auch nicht 
wirklich viel was gespart wird, da der zugrunde liegende String 
natürlich recht kurz ist. Aber Kleinvieh macht auch mist

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

danke für deine Antwort

gebrachts hats mir leider (noch) nichts

flash
alle mit sprintf
30.690 Bytes (von einem Maximum von 30.720 Bytes)
alle mit sprintf_P
30.904 Bytes (von einem Maximum von 30.720 Bytes)

ich habe ein flash & SRAM Problem nur deswegen vom nano328p auf den 
mighty_mini1284p gehen möchte ich (noch) nicht.

von Rolf M. (rmagnus)


Lesenswert?

Also wenn sowohl dein Flash, als auch dein RAM komplett voll sind, dann 
musst du entweder schauen, ob du irgendwelche großen Speicherfresser 
hast, die du ersetzen kannst oder einen größeren µC nehmen. Es hat doch 
keinen Zweck, mit verschiedenen sprintf-Varianten zu jonglieren, in der 
Hoffnung, noch drei Bytes einsparen zu können, damit's passt.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Richtig ist Antwort No. 3.

Bekomm ich jetzt die Million?

Beitrag #4952221 wurde von einem Moderator gelöscht.
von Timmo H. (masterfx)


Lesenswert?

Schau mal mit nm  --size-sort wo Einsparpotential sein könnte

von Joachim B. (jar)


Lesenswert?

nun ja ich bin ja schon am aufräumen, das muss reinpassen

ich kann ja noch reichlich an Texten sparen und an Variablen

man fängt halt mal einfach gemütlich an

dann stellt man fest das man weniger Variablen braucht -> schmeisst die 
also raus
dann Texte müssen nicht so ausführlich sein -> gekürzt reicht auch


ich bin auf einem guten Weg.....

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.