Forum: Compiler & IDEs Startdateien


von Oryx (Gast)


Lesenswert?

Hallo,
für die Compiler winavr und mspgcc möchte meine eigenen Startdateien 
erstellen.

Was muß darin enthalten sein?

Den verwendeten Speicher auf 0 setzen ist klar,
aber was ist mit Interrupteinsprüngen und dem Stackpointer.
Kann der Watchdogtimer auch gleich scharf gemacht werden?

Welche Labelnamen aus den Linkerskripts sind noch zu bedienen.
Wie ist das mit Construktorenaufrufen?

Wo finde ich den Quellcode zu den vorhandenen Startdateien?

Wo finde ich die Linkerscripte, bzw. welche von denen und ldscripts sind 
aktiv?

Das es zu einzelnen Controllern noch Spezialitäten gibt, ist klar,
hier sollte es erst mal um die grobe Richtung gehen.

Oryx

von Joerg Wunsch (Gast)


Lesenswert?

Erstens, Du wirfst zwei komplett verschiedene Compiler/Bibliotheken
in einen Topf.  Beide sind von völlig verschiedenen Autorenteams
erstellt, und jeder wird da wohl das reingeschrieben haben, was er
braucht.

Da ich nur AVR kenne, beziehen sich die folgenden Ausführungen
ausschließlich auf avr-libc.

Zweitens, UTSL.  (``Use the source, Luke.'')  Es ist wenig sinnvoll,
daß Du Dir hier von anderen erzählen läßt, was da in den jeweiligen
Files drinsteht, schau sie Dir lieber selbst an.

Drittens, wofür meinst Du eigentlich, einen eigenen Startup benutzen
zu müssen?  Es gibt fast keinen vorstellbaren Grund, wofür man das
haben will.  So'n bißchen Krams wie Watchdog anwerfen kannst Du
locker via .initN Sections machen (so, wie ja auch der externe RAM
angeworfen wird).  Bei den neueren Controllern geht das ja sogar per
Fuse bits.

Der Quellcode ist in crt1/gcrt.S.  Den Sourcecode von avr-libc
solltest Du natürlich schon mal installiert haben. ;-)  Bei WinAVR
gibt's ein extra Päckchen mit allem Quellcode, ansonsten siehe
http://savannah.nongnu.org/download/avr-libc/snapshots/

Die Linkerscripts heißen avrN.x, wobei N für die Nummer der
Architektur steht (siehe avr-libc Doku, was unter avr1...avr5
jeweils fällt).

Aber vielleicht erzählst Du ja auch erstmal, was Du eigentlich tun
willst...

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.