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

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.