www.mikrocontroller.net

Forum: Compiler & IDEs Wofür die Startup.S beim ARM-GCC???


Autor: Mork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir jemand erklären, wieso ich für jedes ARM-Projekt eine ASM-Datei 
Startup.S brauche? Was steht in ihr so besonderes drin, dass es nicht 
ohne sie geht?

freue mich über jede Antwort

MfG Mark

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die brauchst Du auch bei anderen C-Compilern. Sie enthält den -wie der 
Name bereits suggeriert- Startup-Code, der den µC und dessen Speicher 
initialisiert und dann main() aufruft.

Autor: Mork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber wieso kommen dann AVRs ohne aus?

MfG mark

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ARM Controller ist etwas mächtiger im Funktionsumfang als die AVRs. 
Da gibts den Thumb und den ARM mode, auch Little/Big Endian muss 
eingestellt werden.
Kompliziert wirds dann mit den Interrupts in Verbindung mit den Modes, 
allokation des Stack-Pointers, PLL-Configuration, etc.

Ich muss hier allerdings einräumen dass mein Wissen hier sehr dünn ist. 
Das ist nur das was ich bemerkt habe als ich verschiedene Demos zu einem 
Projekt zusammenzufassen wollte. Jedes Demo hat seinen eigenen 
Startup-code.
Eine sehr lästige Sache, mal heissen sie crt.S, mal Startup.S. Wäre das 
nicht wäre der ARM aufgrund der vorhandenen Beispiele sehr einfach zu 
handhaben, einfacher als etwa PIC's (mit seinen vielen kleinigkeiten) 
und AVR's.

Mario

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Controller kommt ohne aus. Nur gibt es bei den AVRs darin weniger 
zu tun, und das was zu tun ist gilt für alle AVRs gleichermassen. 
Weshalb es in der Library steckt.

Bei ARMs hingegen ist die Vielfalt gross und von Familie zu Familie muss 
darin etwas anderes getan werden. Irgendwelche Speicherinterfaces 
initialisierten, den ARM-Core und ggf. Caches und Puffer konfigurieren, 
Adressräume und -Mappings einstellen, uvam. Und weil das so vielfältig 
ist und WinARM sich nicht auf einen Hersteller beschränken will, ist das 
so offen gestaltet.

Autor: Mork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Infos.

MfG Mark

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.