www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interruptvektoren


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es möglich die Generierung durch den GCC von Interruptvektoren zu 
unterbinden, um eine paar Bytes an Platz zu sparen?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zwei Möglichkeiten:

1) Modifiziertes Linkerscript verwenden.

2) Option -nostartfiles für den Linker.
Aber Vorsicht, dies entfernt noch mehr: Nullen von R1, Initialisierung 
des Stackpointers und Initialisierung der globalen Variablen ungleich 
Null (*). Das musst du dann ggf. selbst mit eigenem Code in einer 
.init-Section erledigen.

(*) Und diese Liste erhebt keinen Anspruch auf Vollständigkeit. Möglich, 
dass es da noch mehr gibt, an das ich gerade nicht denke.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für deinen Tipp, das Linkerscript werde ich mir ansehen. 
Interessant ist, daß ich bei der Initialisierung von Variablen eventuell 
auch noch etwas sparen kann.

Viele Grüße

Martin

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Martin (Gast)

>Ist es möglich die Generierung durch den GCC von Interruptvektoren zu
>unterbinden, um eine paar Bytes an Platz zu sparen?

Solche Tricks würde ich lassen. Bringt sehr wenig, kostet sehr viel. Die 
paar Bytes kann man leichter sparen, indem man sienen Code noch etwas 
aufräumt oder optimiert. Also viele Funktionsaufrufe, möglichst viele 
Funktionen mehrfach verwenden, Schleifen statt inlining etc. Hab ich mal 
in einem Projekt mit AVR 8515 gemacht, 4Bytes waren dann noch frei ;-)

MfG
Falk

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es siehr so aus, daß es nicht möglich ist die Generierung der Vektoren 
am Anfang eines Files zu unterdrücken.

Wo kann man dies einstelle? Leider gibt es beim GCC kein Startupfile wie 
beim KEIL-Compiler. wo man z. B. auch diverse Adressen einstellen kann.

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.