STM32F4 Flag für "debugger conncted"

OP (Firma: HEGRO GmbH) #4675567
Lesenswert?

Jan K. schrieb:
> Ja das wäre echt mal interessant zum Beispiel für Debugausgaben via
> Semihosting.
Genau darum geht es mir hier. Ich nutze eine optische Rückmeldung im 
Fehlerfall. Beim Debuggen nutze ich ein paar asm breakpoints und 
Semihosting. Die möchte ich anfahren, wenn der Debugger dran ist, 
ansonsten soll eben nur die optische Rückmeldung gegeben werden.
Persönliche Seite #4675571
Lesenswert?

* C_DEBUGEN in DHCSR
  Ist allerdings z.B. auch gesetzt wenn der Debugger nur verbunden ist,
  aber nichts tut und das Programm "normal" läuft.

Für die Ausgabe per SWO gibts allerdings noch andere Bits:
* ITMENA in ITM_TCR
* ITM_TER0-255
Wenn man diese Bits prüft, insbesondere das für den genutzten Trace 
Port, bevor man Ausgaben per SWO macht, wird das Programm nicht 
angehalten wenn kein Debugger verbunden ist. Ein Beispiel ist bei Segger 
zu sehen:
http://forum.segger.com/index.php?page=Thread&postID=1745#post1745

Oder hier:
https://www.mikrocontroller.net/wikifiles/a/af/Newlib_cortexm_syscalls.c 
in Zeilen 67-75. Das drumherum in dieser Datei ermöglicht die direkte 
Nutzung von printf() via SWO beim GCC.
OP (Firma: HEGRO GmbH) #4675616
Lesenswert?

Niklas G. schrieb:
> * C_DEBUGEN in DHCSR
Hey das ist ein Anfang, Danke.

Niklas G. schrieb:
> Ist allerdings z.B. auch gesetzt wenn der Debugger nur verbunden ist,
>   aber nichts tut und das Programm "normal" läuft.
Das ist natürlich doof -.-

Niklas G. schrieb:
> Für die Ausgabe per SWO gibts allerdings noch andere Bits:
> * ITMENA in ITM_TCR
> * ITM_TER0-255
> Wenn man diese Bits prüft, insbesondere das für den genutzten Trace
> Port, bevor man Ausgaben per SWO macht, wird das Programm nicht
> angehalten wenn kein Debugger verbunden ist.
Das hört sich wiederum gut an, das guck ich mir gleich an, Danke!

Nop schrieb:
> Ich nutze dazu einfach einen Debug-Build mit Debug-Defines. Ganz
> genauso, wie ich das auf dem PC auch mache.
Ja, andere Möglichkeiten gibt es genug :) Ich bin aber seeeeehr bequem 
:)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren