Data Abort Exception durch Library

Gast #367311
Lesenswert?
• ▲
▼
Hallo,

ich bekomme ein Data Access Abort Exception innerhalb eine sprintf
Aufrufes bei GNUARM . Ich habe die Stelle gefunden, sie liegt innerhalb
der Libray.

Es ist     str r0,[r10,#0x4]

wobei r10 gleich 0xC0 ist.

Wie bekomme ich raus was ich falsch mache bzw. was zur Behebung zu tun
ist?

Danke
Gast #367313
Lesenswert?
• ▲
▼
Der Formatstring löst manchmal gar seltsame Sachen aus ;-)

Sind deine Argumente beim Aufruf der sprintf Funktion korrekt? Sind
die benutzen Formatangaben im Formatstring implementiert und passen die
restlichen Argumente dazu? Ist der Zielpuffer ausreichend gross?
Gast #367314
Lesenswert?
• ▲
▼
Ähm, bei Verdacht auf Fehler im GCC oder der Library und/oder zur
Steigerung der Anzahl nützlicher und hilfreicher Antworten...

Hilft es ein möglichst kleines, aber komplettes Codebeispiel inkl.
Makefile zu posten, damit der Fehler bei Dritten ggf. nachvollziehbar
wird.

Hilft es anzugeben, welche Version des GCC bzw. der Library benutzt
wird.
Gast #367316
Lesenswert?
• ▲
▼
Was bitte ist hier falsch?
       ....
  sprintf (line2,"  %#5.3f V   ",3.2 );
       ....

(hierbei handelt es sich schon um eine vereinfachte Version, 3.2
 ist nur dummy, geht aber auch nicht. line2 ist ausrechend lang)
Weiter sprintf Aufrufe davor und danach ohne fp Formatschlüssel
funktionieren auch einwandfrei.

Ein anderer ARM C-Compiler verabeitet diese Zeile problemlos.

Danke
Gast #367318
Lesenswert?
• ▲
▼
Um diesen Thread abzuschliessen:

Die Problemursache war eine Änderung im Startup-Code , die ICH (mea
culpa!) dem roty vorgeschlagen hatte und die das wichtige Symbol end
aus der Heap-Verwaltung rausgekickt hat... und u.a. die Funktion
sprintf verlässt sich halt auf eine funktionierende Heap-Verwaltung...

THX an Martin Thomas für das Finden der üblen Bugursache und den Report
im en.mikrocontroller.net Forum

Stefan

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.