Ich habe einen ATmega328P und ihn mit den AVR Dragon verbunden. Wenn ich im Code nun einen Breakpoint setze wird dieser auch aktiv angezeigt. Allerdings wenn ich nun den Debugger starte wird der Breakpoint deaktiviert (s. Foto). "The breakpoint will not currently be hit. Unable to set requested breakpoint on target. Note: The current selected device is unable to set breakpoints during runtime.” Wie kann ich einen Breakpoint mit DebugWire aktivieren?
:
Bearbeitet durch User
Da gibt's hier im Wiki einen schönen Artikel zu. Such mal danach.
Bezug nehmend über den Beitrag: https://www.mikrocontroller.net/articles/DebugWIRE Wie kann ich Software-Breakpoints setzen bzw. BREAK-Befehle einfügen? Welche Einstellungen sind notwendig, damit diese im Code übernommen werden?
:
Bearbeitet durch User
Damit DebugWire unter Atmel Studio 7.0 funktioniert, müssen folgende Einstellungen vorgenommen werden: Toolchain/AVR-GNU Common/General => kein Haken bei Relax Branches (-mrelax) Toolchain/AVR-GNU C Compiler/Debugging => bei ...flags -g eintragen Toolchain/AVR-GNU C++ Compiler/Debugging => bei ...flags -g eintragen Toolchain/AVR-GNU Linker/General => kein Haken bei Omit all symbol infomation (-WI,-s) Die Breakpoints können ganz einfach mit F9 markiert/deaktiviert werden. Anschließend kann der Debugger gestartet werden (Alt+F5). Beim ersten Mal muss DebugWire aktiviert werden! Anschließend z.B. den Dragon von der Hardware kurz entfernen, Spannungsversorgung von der Hardware kurz ein-/ausschalten und wieder verbinden. Jetzt wird die Software mit Breakpoints geladen. Nach erfolgreicher Speicherung hält zunächst der Debugger am Anfang an und kann direkt mit F5 gestartet werden. Erreicht das Programm nun einen Breakpoint, so hält der Debugger entsprechend an. Damit die Zielhardware z.B. Arduino wieder wie gewohnt programmiert werden kann, muss DebugWire wieder deaktiviert werden. Im aktiven Debug-Modus kann dann unter Debug/Disable deburgWIRE and Close ausgewählt werden. Hinweis: Jeder Neustart des Debuggers bzw. ändern eines Breakpoints verursacht eine Neuprogrammierung des Flash-Speichers!
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.