Forum: Compiler & IDEs Codersourcery und DATA Abort Exceptiohn


von samos (Gast)


Lesenswert?

Guten Tag.

Da ich von WINARM auf Codesourcery umsteigen möchte, habe ich ein
existierendes Project , welches unter WINARM funktioniert, mit CS
compiliert um damit vertraut zu werden. (CPU LPC2148)

Die Complilierung klappt soweit, aber das Programm läuft nicht. Es
tritt eine DATA ABORT Exception auf.

Mit dem Debugger konnte ich das Problem zurückverfolgen, kann aber
das Ergebnis nicht richtig interpretieren. Vielleicht kann mir hier
jemand helfen.

Das Problem ist wahrscheinlich, dass beim Startup ein Bereich am
Anfang des RAMs initialisiert wird, indem es eine Variable "impure_ptr"
gibt. Diese Variable ist nicht von mir, sondern muss vom System kommen.
Sie beinhaltet nach der Startuptinitialisierung keinen Pointer (der ja
irgendwie in dem DATA- oder Codebereich zeigen müsste), sondern einen
ASCII text (sieht wie ein Teil eines Filenamens aus).

Im späteren Verlauf (erstes mal im Zug einer sprintf Aktion), wird dann
der Inhalt von impure_ptr in ein Register geladen und als Basis für
einen Datenzugriff benutzt, der natürlich dann die besagte Exception 
auslöst.

Das Problem kann natürlich ganz wo anders liegen und ich hier
auf dem Holzweg sein, aber das ist das was ich mit viel Mühe
herausgefunden habe.

Kann es sein, dass ich bei CS zusätzlich etwas benötige, was bei WINARM
nicht nötig war ?

Weiss jemand was dazu ? Wäre nett wenn mir jemand helfen könnte.

Danke

samos

von samos (Gast)


Lesenswert?

Vergessen:

Wo findet man denn bitte sie Sources zu SPRINTF der CS toolchain?

samos

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.