mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Codeoptimierung


Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: Flexverbinder mit Wackelkontakt (Gast)
Datum:

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

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.