DebugWIRE
debugWIRE ist ein serielles Kommunikationsprotokoll, das vom Prozessorhersteller Atmel entwickelt wurde. Es wird für die Programmierung und Fehlersuche bei Atmel AVR Microcontrollern eingesetzt.
Protokoll
Das proprietäre debugWIRE-Protokoll ist als einfache Alternative zu JTAG gedacht und wird bei Prozessoren mit begrenzten Ressourcen – speziell wenigen Anschlusspins – eingesetzt; die meisten modernen 8-bit-Prozessoren von AVR unterstützen das Protokoll. debugWIRE erlaubt vollen Lese- und Schreibzugriff auf den Speicher und die Überwachung des Programmflusses. Dabei können nur die Aktionen durchgeführt werden, die auch bei normalem Programmablauf möglich sind. Breakpoints werden durch Einfügen eines Break-Opcodes (0x9598)[1] gesetzt, dies erfolgt durch jeweilige Neuprogrammierung des Flash-Speichers, der jedoch nur eine begrenzte Zahl von Schreibzyklen zulässt (garantiert 10000)[2].
Programmiergeräte
debugWIRE wird von allen aktuellen Atmel-Debuggern unterstützt, wie z. B. Atmel-ICE, JTAGICE mkII, JTAGICE3 und AVR Dragon.[3]
Protokoll-Spezifikation
debugWIRE kann durch Programmieren des Fuse-Bits DWEN (debugWIRE enable) aktiviert werden, das sich im „High-Fuse-Byte“ befindet. Danach ist die /RESET-Funktion nicht mehr verfügbar und die Programmierung über ISP ist nicht mehr möglich. Die Programmierung der Fuse-Bits kann nicht über debugWIRE erfolgen, dazu muss die debugWIRE-Funktion durch ein Kommando temporär abgeschaltet werden, um mit dem Debugger erneut per ISP zugreifen zu können. Dies erfolgt bei Verwendung des Entwicklungssystems Atmel-Studio transparent für den Anwender.[4] debugWIRE benutzt serielle Kommunikation über eine Ein-Draht-Leitung mit Open-Drain-Ankopplung. Die Standard-Taktrate ist 1/128 des Prozessortaktes. Eingeleitet wird die Kommunikation durch Senden des Break-Zustandes (alle Bits 0), als Antwort sendet der zu testende Prozessor das Byte 0x55, das aus abwechselnd Null- und Eins-Pegeln besteht. Dies erlaubt dem Debugger eine einfache Identifizierung der Taktrate.[5][6]
Einzelnachweise
- ↑ AVR Assembler Instructions
- ↑ ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf
- ↑ debugWIRE-Interface des AVR Dragon
- ↑ debugWIRE-Artikel
- ↑ The debugWIRE protocol (Englisch)
- ↑ Simple stand-alone debugWIRE debugger (open source)
Weblinks
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.