ARM Linker Scripts

Gast #281839
Lesenswert?
• ▲
▼
Hallo,
ich habe die Linker Scripts für WinARM bzw GNU-ARM noch nicht so ganz
verstanden:
Wenn ich z.B. für den ARM uC ein C-Programm schreiben will, dass
Software von einer MMC/SD Karte in einen RAM ließt, und dann im RAM die
Adresse x aufrufen soll, wie muss das entsprechende Script dann grob
aussehen?
Wenn ich jetzt ein C-Programm für die MMC/SD Karte schreibe, was vom uC
kopiert und dann ausgeführt wird, wie muss dafür das Linker Script grob
aussehen?
Ist die Methode, die Programme getrennt zu schrieben (2x main(), 2x
kompilieren), oder sie "als ganzes" zu schreiben (1x main(), 1x
kompilieren) eurer Meinung nach besser?

MfG
Jan Haan
Gast #281841
Lesenswert?
• ▲
▼
Im Linker Skript "grob": RAM-Startadresse einstellen, alle Sections in
die "RAM-section". Startadresse so einstellen, dass fuer
"Bootloader/Applikationslader" benoetigtes RAM nicht ueberschrieben
wird und evtl. noch Platz fuer Exceptions-Vectoren/Sprungadressen im
RAm (remap) lassen. Startup-Script des nachgeladenen Anwendung muss
auch angepasst werden. Interrupts dann am besten nur ueber SWIs und die
noetigen "Betriebssystemroutinen" im "Anwendungslader"-Code
integrieren. Ansonsten Exceptions-Vector im RAM beim Starutp der
nachgeladenen Anwendung ueberschreiben, ist aber weniger elegant und
auch fehleranfaellig. Bootloader und Anwendungen getrennt
compilieren/linken sollte die bessere Methode sein - wenn die andere
ueberhaupt funktioniert. Sprung zu Anwendung im einfachsten Fall ueber
PC-"umbiegen". Auf die verschiedenen Stacks achten.

Martin Thomas

Antwort schreiben

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.

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.