Data Abort Exception durch Library

Gast #367311
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
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
Ä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.
#367315
> Wie bekomme ich raus was ich falsch mache

Mit an Sicherheit grenzender Wahrscheinlichkeit suchst
du an der völlig falschen Stelle. Du solltest nicht
innerhalb der Library anfangen zu suchen, sondern bei
deinem Aufruf der sprintf() Funktion.
Gast #367316
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
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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.