www.mikrocontroller.net

Forum: Compiler & IDEs startup.code für LPC2378


Autor: Steffen H. (mcst)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusamm,

ich will meinen Code auf einem LPC2378-Evaluation Board von Olimex 
ausführen. Ein Beispielprojekt habe ich funktionsfähig hinbekommen. nun 
will ich die CAN-Schnittstelle in Betreib nehmen.
Hierbei taucht der Effekt auf, dass wenn ich eine neue .c Datei mit 
linke, mein Startup-code nicht mehr an der ersten Stelle im Flash steht 
(muss er aber damit es funktioniert).
Im Linker-script ist eine extra Section .startup für den Startup-code 
eingetragen.
Nach einigem Suchen habe ich über das .map File herausgefunden, dass 
mein Startup-code aber als normaler C-Code interpretiert wird und in die 
.text Section gelinkt wird.

Durch Goggle bin ich nun auf das Assembler Kommando .section gestoßen 
und habe diese mit in mein Startup-code geschrieben:
.section .startup, "ax"
Nun wird mein Code wie gewollt in die Section .startup gelinkt.

Eigentliches Problem:
Ich weis gar nicht was dieses Kommando wirklich macht und wie es zu 
benutzen ist. Zum besseren Verständnis und um vll. spätere Seiteneffekte 
zu vermeiden hoffe ich ihr könnt mir dazu etwas sagen!

Ich hab den Startup-code und das Linkerscript angehangen

Danke schon mal im voraus.

Autor: Daniel G. (motello)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.section <name> legt deinen code in die Section <name> ab. Also wird 
dein startup code in die section ".startup" gelegt. Diese section wird 
dann entsprechend dem linker script an den anfang gelinkt.

Nur was das "ax" zu bedeuten hat, weiß ich auch nicht!

zum befehl .section schau mal in "using as" und fürs linker script und 
den linker überhaupt in "the gnu linker" nach. die dokumentationen gibt 
es online oder als pdf.

Autor: Steffen H. (mcst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super! besten dank,
das sind genau die Stichworte die ich gebraucht hab

Steffen

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.