Debug-Flag at Runtime

Gast #4386812
Lesenswert?

Konstellation: AVR Controller, AVR Studio 4.xx oder ATMEL Studio 7.xx

Ist es möglich - ohne ein Projekt neu zu compilieren - bei laufend
abzuarbeitendem Code abzufragen ob gerade der Debugger (JTAG ICE MKII
oder ATMEL ICE) die Überhand hat oder der Prozessor standalone läuft?

Hintergrund wäre: ich würde gerne - wie gesagt "at runtime" und eben
ohne jeweils neu zu compilieren - in einer if-else-Abfrage entscheiden
wollen ob nun eine eine timergesteuerte Delay-Routine ausgeführt werden
soll oder nicht. Bei solchen Routinen lässt sich vielleicht durch
geschickte Programmierung das Warten umgehen wenn die Timer
weiterlaufen, bei _delay_ms(..) hat man aber keine Chance mehr.

Viele kennen vielleicht das Problem dass (naturgemäss) unter Debugger-
Einfluss manche Sache wie Delays "etwas zäh" ablaufen.....
(Firma: Vescomp) #4386849
Lesenswert?

DebugVerbesserer schrieb:
> Hintergrund wäre: ich würde gerne - wie gesagt "at runtime" und eben
> ohne jeweils neu zu compilieren - in einer if-else-Abfrage entscheiden
> wollen ob nun eine eine timergesteuerte Delay-Routine ausgeführt werden

 Mach das doch einfach mit einem Schalter an irgendeinem unbenutzten
 PortPin und Masse.
 Pin als Eingang deklarieren, Pullup einschalten, wenn PortPin == 0,
 Delay verkurzen oder nicht ausfuhren.
Gast #4386882
Lesenswert?

Entweder man ist am Funktionalitaet singlesteppen, oder am 
Echtzeitablauf.

Die Funktionalitaet sollte man sowieso ohne das Drumherum geprueft 
haben.

Nachdem die funktionalitaet mal tut, muss man Echtzeitdebuggen. Dies 
macht man zB durch kommunikation, Indem man per Kommunikation
- variablen abfragen kann
- variablen periodisch sendet
- einen Subprozess ab-/zuschaltet

Falls man die Zeit zur Kommunikation nicht hat, weil der Prozess zu 
schnell ist, kann man zB einen DAC aufstecken. zB ueber einen 4 pol 
pfostenstecker, wie den Programmieradapter, per SPI einen 8 kanal 8bit 
DAC mit Werten ansteuern. Diese 8 Analogkanaele kann man dann bequem am 
Oszilloskop anschauen, und sich so Details zu Regelungsprozessen 
anschauen.
Gast #4386915
Lesenswert?

Marc V. schrieb:
> Mach das doch einfach mit einem Schalter an irgendeinem unbenutzten
>  PortPin und Masse.

Ja, an so etwas habe ich auch schon gedacht.

Am schönsten wäre es wenn man am JTAG Port eine Signatur lesen
könnte, das würde keinen Platz/Hardware brauchen und automatisch
immer da sein .... weiss aber nicht ob so etwas definiert ist.

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