Aufhängen bei printf ohne IDE

Gast #5563316
Lesenswert?
• ▲
▼
Hallo,

ich nutze die Funktion printf() in meinem STM32F0-Projekt in IAR, um mir 
im Terminal I/O-Fenster Debug-Ausgaben anzeigen zu lassen.
Lasse ich den Code in der IDE (im Debug-Modus) laufen, funktioniert 
alles.

Schließe ich IAR und resette den Controller, damit er von selbst 
anläuft, bleibt der µC bei der ersten printf() hängen (ermittelt per 
LEDs, alles vor der printf läuft).

Weiß einer woran es liegen kann? Wartet printf auf ein ACK?
Gast #5563327
Lesenswert?
• ▲
▼
pc schrieb:
> Weiß einer woran es liegen kann? Wartet printf auf ein ACK?

printf gibt die Daten nur an eine darunterliegende "write" Funktion 
weiter. Was die macht, hängt vom Betriebssystem und der C-Library ab. 
Also, wie verarbeitet dein OS/libc die Daten? Schickt es sie per UART? 
USB? SWO? ...? Wartet es auf ein ACK?
Gast #5563358
Lesenswert?
• ▲
▼
Christopher J. schrieb:
> Ich würde eher auf Semihosting tippen, weil das bekanntlich zu Problemen
> führt, wenn denn kein Debugger angeschlossen ist

Genau, in IAR ist es Semihosting.

Dr. Sommer schrieb:
> Du weißt also nicht genau was du da für eine Umleitung eingebaut hast?
> Weißt du wenigstens wie du die Texte am PC abrufst oder erscheinen die
> irgendwie auf dem Bildschirm?

Ich habe Semihosting in IAR aktiviert.

Man könnte jetzt natürlich alle printf rausschmeißen, aber die Datei ist 
eine API von einem Hersteller. Leider ohne irgendwelche 
Präprozessor-ifs, um die print-Ausgabe nicht mitzukompillieren. Bei 
einer neuen Version müsste man das Ganze ja wieder machen..

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.