Huhu! Gibt es eine Möglichkeit das laufende Programm erkennen zu lassen ob gerade Debugged wird oder nicht? Konnte in den DBG-Registern nichts dazu finden. Danke und Grüße Reggie
Ja das wäre echt mal interessant zum Beispiel für Debugausgaben via Semihosting. Wenn der Debugger nicht dran ist, dann friert das Programm ein, da die Strings ja über Sigtraps übertragen..
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.
* 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.
Ich nutze dazu einfach einen Debug-Build mit Debug-Defines. Ganz genauso, wie ich das auf dem PC auch mache.
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 :)
Also C_DEBUGEN steht bei mir durchgehend auf 1, auch bei abgestecktem Debugger.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.