www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Simons Mikro-Web-Server, beim Debuggen gestorben


Autor: Einhart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

gerade habe ich 'mal wieder mit dem Dragon per debug-wire an Simons Code 
gebastelt. Einige Änderungen haben funktioniert, aber dann nach einer 
Änderung (Versuch den ADC einzubinden) lief der Code nicht mehr. 
Schlimmer allerdings: eine debug-wire Verbindung war nicht mehr 
herzustellen.

Auch per ISP ging keine Verbindung mehr. Dragon getestet - zum Glück OK. 
Dann den zweiten Mikro-Web-Server angeschlossen. Verbindung klappte, 
Programm geladen und gestartet - der Erfolg siehe oben.

Also kann man den Mega168 mittels Programmfehler beim Debuggen 
zerschießen. Hat irgenjemand eine Idee was da passiert? Kann man auf 
diese Art die Fuses verändern?

Ich habe einen neuen Mega168 eingelötet und jetzt läuft der eine Server 
wieder. Allerdings habe ich Angst weiter am Code zu fummeln. Meine kaum 
vorhandenen C Kenntnisse wollte ich eigentlich per try und error 
verbessern.

Irgendwelche Tipps?

Danke
Einhart

Autor: Einhart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
da mir niemand helfen wollte ;-) habe ich selbst arbeiten müssen. Das 
Verfahren einen eingelöteten AVR unbrauchbar zu machen:

DebugWire aktivieren. Debug eines Codes starten, der im PRR Register 
PRSPI auf 1 setzt. Das war's dann schon:

SPI geht nicht mehr da DebugWire aktiviert ist. DebugWire geht nicht 
mehr da dieser beim Reset sofort deaktiviert wird. Hätte ich nur das 
Mega168 Datenblatt gelesen:
• Bit 2 - PRSPI: Power Reduction Serial Peripheral Interface
If using debugWIRE On-chip Debug System, this bit should not be written 
to one.

Einzige Abhilfe: Chip auslöten und mit parallel Programmierung 
wiederbeleben.

Nur zur Info und Warnung

Gruß
Einhart

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einhart wrote:
> da mir niemand helfen wollte ;-)

Dem kann ich nicht zustimmen.
Webserver ist doch eher ne exotische Anwendung auf MCs.
Daher gibts da nur äußerst wenige, die helfen können.


> habe ich selbst arbeiten müssen. Das
> Verfahren einen eingelöteten AVR unbrauchbar zu machen:

Dagegen hilft ein Bootloader, wenn man ihn denn vorher reingebrannt 
hätte.
Damit hätte man den Konflikt mit Debugwire leicht rückgängig machen 
können, indem man ein anderes Programm flasht.
Außerdem besteht keine Gefahr des Verfusens mehr, da er ja nicht fusen 
kann.
Ein Bootloader ist daher immer zu empfehlen.


Peter

Autor: Einhart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

das mit dem nicht helfen wollen war nicht ernst gemeint: siehe ;-)

Danke für den Tipp mit dem Bootloader! Das muss ich ausprobieren. Das 
Aus- und Einlöten macht man nicht zu oft - sonst ist die Platine hin.

Gruß und danke

Einhart

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe Debugwire bisher noch nie gebraucht, daher weiß ich nicht, ob 
es den Flash beim Debuggen auch immer komplett löscht.
In diesem Fall wäre ja der Bootloader dann auch weg.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.