www.mikrocontroller.net

Forum: Compiler & IDEs Startdateien


Autor: Oryx (Gast)
Datum:

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

Autor: Joerg Wunsch (Gast)
Datum:

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

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.