Forum: Compiler & IDEs Linkerscript für Coldfire 5206e


von Frank B. (frank13)


Lesenswert?

Hallo allerseits!

Ich suche ein Linkerscript für den Coldfire 5206e das mir die MBAR 
möglichst nicht initialisiert. Das Beispiel (m5206ec3-rom.ld) passt für 
mein Board (nur der 5206 mit 128K Flash extern) nicht. Die CPU 
initialisiert diverse Register im MBAR und hat dann keinen Zugriff mehr 
auf das Flash.
Hat da jemand eine Idee wie ich die Initialisierung weg bekomme?

Viele Grüße

Frank13

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Initisilisierung durch Linker bzw. dessen Steuerungsdatei habe ich 
bisher noch nicht gesehen. Irgendwo muss Code dafür sein, evtl. in einer 
"heimlich" gelinkten Startup-Routine, die vorkompiliert mit der 
Toolchain geliefert wurde. Man kann im Linkerscript Optionen bezügl. 
anzulinkenden Libraries einbauen, evtl. ist dort eine Ursache. Wenn dem 
so ist, kann man diese Optionen entfernen und eigene per Kommandozeile 
übergeben. Wird mit -nostartfiles gelinkt? Evtl. kann man anhand eines 
minimalen aber vollständigen Beispiels weiterhelfen.

von Frank B. (frank13)


Lesenswert?

Hi!

Noch als Hinweis: Es handelt sich um die Sourcery G++ Lite Edition.

Soweit ich das bisher rausbekommen habe, steckt der Initialisierungscode 
wirklich in so einer Startup-Datei (crt0 ist eine davon). Laut Anleitung 
kann man die irgendwie übergehen, aber das scheint mir ganz bewusst sehr 
vage ausgedrückt, so dass ich bisher keine Chance habe diesen Teil der 
Initialisierung ("Hard Reset Phase der CS3-Initialisierung") zu umgehen. 
Außerdem scheinen die Aufrufoptionen gleich mit in den GCC einkompiliert 
worden zu sein, die Sourcen sind natürlich nicht dabei.
Ich hatte gehofft, dass sich jemand hinreichend gut mit dem GCC auskennt 
um ein passendes Script schreiben zu können.

Die Option -nostartfiles werde ich am Montag mal austesten.

Viele Grüße

Frank

von Frank B. (frank13)


Angehängte Dateien:

Lesenswert?

Hallo allerseits!

Die Option -nostartfiles hat leider nichts gebracht, der fummmelt immer 
noch die ganzen Register durcheinander. Das Problem scheint im 
Linkerscript zu liegen. Hat da jemand ein Einfaches liegen? Ich habe 
versucht, das Script vom 5206-Evel Board anzupassen aber ich kenne mich 
leider bisher mit den GCC-Scripten nicht aus.

Viele Grüße

Frank13

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.