Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 4 compilieren ja debuggen nein?


von Conny (Gast)


Lesenswert?

Hallo

Ich hab heut in Atmel Studio ein kleines C++ Programm geschrieben und 
erfolgreich kompilieren können. Ich wollte das Programm jetzt mal 
simulieren (oder debuggen - ist das das selbe?) aber die entsprechenden 
Optionen sind in Atmel Studio ausgegraut...

von Spess53 (Gast)


Lesenswert?

Hi

>aber die entsprechenden
>Optionen sind in Atmel Studio ausgegraut...

Hast du auch einen Simulator als Debugplattform ausgewählt und den 
richtigen Controller eingestellt?

MfG Spess

von Peter R. (pnu)


Lesenswert?

Beim Simulieren läuft das Programm im PC ab, nicht im Kontroller selbst. 
Es wird zwar die Syntax nachgebildet, nicht aber der Vorgang im 
Kontroller. Simulieren kann man das Programm , ohne einen Kontroller da 
zu haben.

Beim debuggen läuft das Programm im Kontroller ab, an vorgegebenen 
Stellen wird er angehalten und der Inhalt von Speicherplätzen usw. kann 
geprüft werden.

debuggen erfordert, dass der PC (Studio4) den Kontroller jederzeit lesen 
kann. Und dass Haltepunkte im Programm gesetzt werden können.

Das geht nur mit dazu geeigneten Programmiergeräten. Mit STK500 gehts 
zum Beispiel nicht.

Wenns in Studio ausgegraut ist, gehts im speziellen Fall nicht. entweder 
weil der Kontroller das nicht kann oder das Programmiergerät. (Das 
müsste debug-wire oder JTAG können.)

von Conny (Gast)


Lesenswert?

Ich hab bei Debugging / Platform&Device eingestellt:
AVR Simulator
Atmega168

dann auf Finish geklickt. Trotzdem lässt sich der Debugger nicht starten 
bzw kann ich im entsprechenden DropDown Menü nur Breakpoints setzten und 
eben die Platform auswählen.
µC bzw Programmiergerät hab ich keines angeschlossen.

von Peter R. (pnu)


Lesenswert?

Ja eben, Simulation findet im PC statt, nicht im Kontroller.
Erst wenn ein geeignetes Programmiergerät bei Studio angemeldet ist und 
auch der geeignete Kontroller angeschlossen kann man debuggen, nämlich 
das Programm bis zu einem bestimmten Zeitpunkt auf dem Kontroller 
ablaufen lassen und dann die Register usw. ansehen.

Mir dem Simulieren kann man bestimmte Algorithmen gut überprüfen, ob 
z.B. ein Addition oder Division mit BCD-Zahlen klappt, die 
zeitunabhängig sind.

Das debuggen kann auch Zeitabläufe einbeziehen, ob z.B. nach einem 
Tastendruck ausgelöste Abläufe in der richtigen Geschwindigkeit ablaufen 
oder Reaktionen auf Interrupts rechtzeitig erfolgen.

von Andreas W. (geier99)


Lesenswert?

Conny schrieb:
> Ich hab bei Debugging / Platform&Device eingestellt:
> AVR Simulator
> Atmega168
>
> dann auf Finish geklickt. Trotzdem lässt sich der Debugger nicht starten
> bzw kann ich im entsprechenden DropDown Menü nur Breakpoints setzten und
> eben die Platform auswählen.
> µC bzw Programmiergerät hab ich keines angeschlossen.

sollte ja so funktionieren, ausser der Compiler hat keine hex-Datei 
erzeugt, dann geht es nicht.
Am besten nochmal ein "Rebuild All" machen und schauen ob dieser 
fehlerfrei durchläuft.

von Michael A. (Gast)


Lesenswert?

Peter R. schrieb:
> Ja eben, Simulation findet im PC statt, nicht im Kontroller.

Auch wenn die Simulation im PC abläuft, hindert einen doch keiner daran, 
dass Programm im Simulator zu Debuggen. Auch dort lassen sich Break 
Points setzen, Abläufe im Single-Step ansehen, Registerinhalte prüfen, 
Reaktionen auf Stimuli ansehen und Laufzeiten über die Stopuhr messen.

von Borsty B. (mantabernd)


Lesenswert?

Weiß jemand zufällig wie das debuggen im Atmel Studio 6 funktioniert?

Habe vor einigen Jahren einiges mit dem 4rer gemacht und dort hatte ich 
auf der rechten Seite immer einen Spalte wo ich alle Register und alle 
Informationen des gewählten Controllers hatte. Ich konnte das Programm 
virtuell durchlaufen lassen und hab genau gesehen was er theoretisch 
macht.

Nun im Studio 6 vermisse ich diese Funktion vollkommen. Ist sie irgendwo 
versteckt?

Wenn ich auf Compile&Debug (Symbol sieht etwa so aus: |> ) klicke, 
compiliert er das Programm und Schreibt es direkt über meinen AVRispMKII 
Dongle in den Controller.

Gibt es diese offline Simulation gar nicht mehr? Fand ich extrem 
praktisch...

Gruß

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
Noch kein Account? Hier anmelden.