Startdateien

Gast #39564
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
Gast
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.