Forum: Mikrocontroller und Digitale Elektronik Codeoptimierung


von Andi (Gast)


Lesenswert?

Hallo Leute,

Ich befasse mich derzeit etwas mit Codeoptimierung (Codegröße und 
Schnelligkeit) auf einem 8051 - µController. Ich verwende die Keil - 
Eval Version und zum Vergleich noch den SDCC.

Hab schon einiges im Web an Literatur zum Thema gefunden, aber leider 
für x86 - Architektur oder DSPs.

Kennt ihr irgendwelche Links/Papers/Ebooks, die sich mit diesem Thema in 
Zusammenhang mit Embedded Systems (8-bit Controller usw), befassen?

bis demnächst.
mfg. andi


von Flexverbinder mit Wackelkontakt (Gast)


Lesenswert?

Frag Peter Dannegger, eine bessere Hilfe wirst du nicht bekommen.

von Ale (Gast)


Lesenswert?

Ich habe auch gesucht und ich habe nicht viel gefunden, ein Paar Ideen 
da und ein Paar dort.

Optimierung auf 'C' es ist ein Thema, und auf asm es ist ein ganzen 
anderen Thema.

Hast du schon hier gelesen ?

http://www.esacademy.com/automation/docs/c51primer/

Gibt es auch ein Micro C für 8051, (shareware oder freeware), vielleicht 
es ist nützlich.

von Joe (Gast)


Lesenswert?

> Ich verwende die Keil - Eval Version und zum Vergleich noch den SDCC.

Also ich verwende nur den SDCC eben weil er freeware ist. Eine goldene 
Regel kann ich dir nicht geben da ich sehr viel durch eigene Tests 
herausgefunden habe. Die einzige wirkliche glodene Regel ist, wann immer 
du etwas zusammenfassen kannst dann mach es.

Ansonsten bräuchte ich ein konkretes Beispiel.

Der C51 Primer ist eher ein Grundlagenwerk. Sehr lesenswert, trifft aber 
nicht ganz das Thema.

Desweiteren habe ich festgestellt das Optimierung nicht gleich 
Optimierung ist, will sagen es ist Compilerabhängig. WINAVR verhält sich 
erheblich anders als der SDCC.

Insgesamt verwende ich IAR, WINAVR und SDCC, IAR und SDCC verhalten sich 
ähnlich, WINAVR mag z.B. "do while" lieber als "for"

Wie gesagt, alles eine Sache der Erfahrung. Manchmal geht es auch nur um 
wenige Bytes.

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.