Forum: Compiler & IDEs risc-v vermutlich Fehler im linker script


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hans Franz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche eine Test-Anwendung für eine risc-v cpu zu erstellen.
Das Problem welches ich dabei habe ist das der StartUp-code hinter das 
eigentliche Programm gestellt wird und es direkt "Abstürzt" da z.B. der 
StackPointer etc. nicht korrekt intialisiert ist.

Ich vermute das liegt an meinem linker script.
Ich muss zugeben ich habe was das angeht nur "gefährliches Halbwissen" 
und benötige etwas Erklärung / Unterstützung um das hinzubiegen.

Der Speicher meines Test-Systems ist folgendermaßen aufgebaut:

RAM : 0x00000000 - 0x00007FFF - Bereich in dem stack , heap usw liegen. 
sollen

ROM : 0x00008000 - 0x00009FFF - Bereich in dem der StartUp und Programm 
code, Konstanten usw. liegen soll

Das linker script "linker.ld", den StartUp-code "crt.S" und ein 
object-dump der Anwendungsdatei "object-dump.txt" habe ich angehängt.

Wenn ich mir jetzt den object-dump anschaue steht die Sektion 
.start_jump hinter .memory, meiner Meinung nach müsste das aber 
umgekehrt sein.

Das linker script und den StartUp-code habe ich von einem VexRiscV - 
Murax Soc - Demo übernommen (Mein Test-System ist eine VexRiscV soft-cpu 
in einem FPGA) und angepasst -> was wohl auch das Problem ist, 
wahrscheinlich ist es ein sehr trivialer Fehler aber ich bin irgendwie 
zu "stumpf" um ihn zu finden.

Evtl. hat jemand Lust und Zeit sich das anzuschauen und kann kurz 
erläutern wo der Fehler steckt.

Danke.

von Hans Franz (Gast)


Lesenswert?

.. hat sich erledigt, habs Problem gefunden, war gar nicht das linker 
script sondern falsche Einstellung in eclipse beim build, die crt.o 
wurde nie gebaut und von daher deren code auch nicht eingefügt...

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]
  • [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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.