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.....
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.
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.
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.
Ich pushe mal nach vorne, vielleicht lesen noch ein paar andere Leute das Thema und wissen was .....
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.