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


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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.