Hallo zusammen Brauche mal einen Tipp wie ich einen Fehler debuggen kann. Habe ein Etherrape Board mit einem ATmega644 und ENC28J60 (Rev. 4). Das ganze umgebaut (INT Leitung des ENC28J60 auf ATmega644), so dass die Software von Ulrich Radig (V1.0.77) darauf läuft. Was diese auch tut. Alle Funktionen sind eigentlich ok bis auf die Tatsache, dass das Board nach ein paar Stunden (im Berich von 3 - 12h) beginnt wie verrückt immer und immer wieder zu booten. Hat jemand eine Idee, an was das liegen könnte, oder in welche Richtung das deutet ? Memoryleak glaube ich nicht, da würde doch die CPU nach einem Reboot wieder normal laufen. Irgend ein Tipp, wie ich mich dem Fehler annähern könnte ? Bis jetzt debugge ich nur mit "printf" Statments, aber hier weiss ich beim besten Willen nicht wo einbauen. Mit was, oder wie debugged Ihr solch ein Problem ? Mit bestem Dank Daniel
Wenn es kein Problem mit dem Watchdog ist (tja, unwahrscheinlich, aber trotzdem: isser aus?) Gibt es im Programm Funktionszeiger, die durch Interrupts und nichtatomare Operation auf ungültige Ziele zeigen könnten? Gibt es rekursive Aufrufe (Stacküberlauf)? Ist der Stack gross genug? Ist es ein echter Hardwarereset oder nur ein Sprung auf die Adresse 0000? Wie kannst Du die 3-12h Phase neu starten? Durch Spannung aus/ein? Im Zeifelsfall ist's immer ein Interruptproblem :-)
> Wenn es kein Problem mit dem Watchdog ist (tja, unwahrscheinlich, aber > trotzdem: isser aus?) Meiner Meinung nach ausgeschaltet, finde weder die Register, noch die wdt_ Calls vom avr-gcc im Code. > Gibt es im Programm Funktionszeiger, die durch Interrupts und > nichtatomare Operation auf ungültige Ziele zeigen könnten? > Gibt es rekursive Aufrufe (Stacküberlauf)? > Ist der Stack gross genug? Da die Basissoftware nicht von mir ist, kann ich das nicht sagen. Muss nur raten, da die Software von Ulrich Radig ist, und wohl auf vielen Boards im Einsatz ist, nehme ich an, der Fehler liegt woanders. Möglich ist aber alles, ist mir schon klar ;-) > Ist es ein echter Hardwarereset oder nur ein Sprung auf die Adresse > 0000? Wie kannst Du die 3-12h Phase neu starten? Durch Spannung aus/ein? Habe einen separaten Reset-button eingebaut. Zieht den ATmega644 Resetpin auf GND. Mit dem kann ich das System neu starten. > Im Zeifelsfall ist's immer ein Interruptproblem :-) Oder die Kombination von Etherrape Board und Software von Ulrich Radig verträgt sich doch irgendwie nicht. Ulrichs Software basiert auf der INT-Leitung des ENC28J60, und die orig. Software für das Etherrape Board wohl auf dem aktiven Abfragen des ENC28J60, ohne INT-Leitung.
Hi, ich habe die SW vom Ulrich inkl. Handy-Cam Unterstützung tagelang ohne Probleme auf einem Etherrape am Netz gehabt. Eventuell ist die Spannungsversorgung nicht stabil? Falls die Eingangsspannung etwas hoch und kein Kühlkörper auf dem 7805 ist könnte ich mir vorstellen, dass dieser sich zeitweise abschaltet (bei 12V Eingangsspannug wird meiner jedenfalls ziemlich heiss). Ciao Udo
Habe den 7805 durch einen 78SR105 (1.5A), und das ganze hängt an einem 1.5A 9V Steckernetzteil. Das sollte doch reichen ? Vorallem jetzt, da ich alle eigenen Erweiterungen (VFD Display und zwei 8-Stellige 7-seg. LED's mit MAX7219) abgehängt habe. Auch mit diesen Erweiterungen hat's geknallt nach ein paar Stunden. Meistens habe ich am Abend entwickelt, das Ding die ganze Nacht laufen lassen, am Morgen war noch alles ok und nach der Arbeit am Abend im Endlosloop am booten.
Ist wohl schon etwas spät, meine Satzstellung lässt etwas zu wünschen übrig ;-) Wollte sagen ich habe den 7805 durch einen 78SR105 ersetzt. Und das Board ist trotz der Erweiterungen und somit einem höheren Stromverbrauch auch erst nach ein paar Stunden in den Endlos-boot gegeangen. @Udo: Weisst Du zufällig noch mit welcher Softwareversion Du gearbeitet hast ? Ev. kann ich es mal mit dieser Version versuchen. Danke und gute Nacht Daniel
"Wollte sagen ich habe den 7805 durch einen 78SR105 ersetzt. Und das Board ist trotz der Erweiterungen und somit einem höheren Stromverbrauch auch erst nach ein paar Stunden in den Endlos-boot gegeangen." Bringt genau garnix -- solange der 78SR105 nicht gekühlt ist, wird er exakt genauso warm (gleiche Verlustleistung) .. allerdings sollte es dann nach einem Reset nicht weitergehen, besonders da die Atmegas eh bei 3V noch funktionieren. Gruß, Christian
Ok, dann habe ich hier etwas falsch verstanden, ich war der Meinung, der 78sr105 sei ein step-down Regler und bleibe desshalb deutlich kühler als ein 7805. Meine 78SR105 wird auf jeden Fall auch beim Einsatz aller Komponenten nicht mal Handwarm. Das kann also nicht das Problem sein.
Hast Du die Brownout-Überwachung des Atmega aktiviert? Vielleicht kommen Spikes über das Steckernetzteil rein, die leichten asiatischen Schaltnetzteile sind manchmal schon üble Schmutzfinken. Wenn die warm werden, geht auch manchmal die Ausgansspannung kurzzeitig in den Keller. Wenn Du ein klassisches Netzteil mit Trafo hast, würde ich mal damit testen.
Falls es die Spannung ist, helfen vielleicht ein paar zusätzliche Kondensatoren. Gibt es EMV-Störungen ? Springt der Kühlschrank an oder fährt ein Zug vorbei ? Manchmal hilft es, das Gerät an einen anderen Ort zu bringen oder entsprechend abzuschirmen. Nach einem Reboot sollte ja eigentlich alles wieder laufen. Dass mehrmals gebootet wird, ist schon interessant.
Ja genau, dass ist es auch was mich verwirrt. Wenn es Stromspitzen oder Schwankungen wären, würde das System dannach ja wieder laufen. Eigentlich hatte ich bis jetzt in meinem Basteldachgeschoss keine solchen Probleme. Werde aber heute Abend mal ein extra stablisiertes Netzteil verwenden (irgendwo ist noch eins...). Bin zutiefst verwirrt, aber das kommt häufig vor als Nichtelektroniker in diesem Umfeld ;-)
Nachtrag: Habe den Schuldigen gefunden, war/ist das Noritake VFD Display. Da der interne lcd Driver von Ulrich Radig mit diesem Display nicht funktioniert, habe ich denjenigen von Peter Fleury genommen. Anbindung an PORTA wie ein ganz normales standard LCD (HD44870). Der Driver funktioniert out-of-the Box (danke Peter). Aber eben, nach ein paar Stunden beginnt das gesamte System unkontrolliert immer und immer wieder zu booten. Seit das Display nicht mehr dran, und der Driver draussen ist, läuft das System seit 4 Tagen stabil. Keine Ahnung warum. Aber was soll's, im Moment brauche ich das Display sowieso nicht, war nur zum debuggen. Gruss Daniel
Das ist ja schon ein Ding, zumal die Lib von Peter Fleury von mehreren Usern benutzt werden wird. Ich würde das Fehlerbild mal an Herrn Fleury melden. Vielleicht ist doch ein Bug in der Lib.
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.