Interruptvektoren

#1502883
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.
#1503092
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
Gast #1504196
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren