www.mikrocontroller.net

Forum: Compiler & IDEs AVR-GCC Code vor main


Autor: Anton Wert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was macht denn bitte der code vor main im Avr gcc? Also zuerst Stack
Pointer, das versteh ich ja noch aber dann? ich steig da aus...

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sagen der setzt das RAM auf 0 oder halt den definierten
Anfangswert. Vielleicht setzt der auch ein paar register...

Ansonsten springt der code noch zur main funktion.

Autor: Anton Wert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja der Sprung zu main steht am Ende (is auch klar) aber dazwischen ist
noch so vieles, es sind ofenbar indirekte Adressierungen mit Z-Pointer

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie der compiler das handhabt mit der main und den funktionen kann
unterschiedlich sein.

endweder steht die main am anfang, am ende oder in der mitte ist im
grunde auch egal.

wichtig ist nur, dass die sprungadressen stimmen

generel setze ich die main and ende (in c) aber es ist auch nur eine
funktion mit einer besonderen aufgabe..

poste doch einfach den code, den du meinst, dann laesst sich mehr dazu
sagen

gruss

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also die meisten compiler machen folgendes:
- interupts abschalten (auch wenn die schon nach reset aus sind ->
sicher ist sicher)
- eeprom zugang abschalten
- sram auf 0 initialisieren
- register auf 0 initialisieren
- globale variablen initialisieren
- main aufrufen

die meisten sachen sind aber nicht wirklich sinnvoll und könnten
weggelassen werden (register und sram initialisieren).

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guckt euch doch einfach das gcrt0.S von der avr-libc an...

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder einfach deren Dokumentation. Da steht's nämlich auch drin.
Siehe
http://www.nongnu.org/avr-libc/user-manual/mem_sec...

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.