Aus ser Ferne kann man da wenig sagen. Neben Silicon-Bugs (also Fehler in der Hardware) können es Fehler in der Software oder durch andere Ereignisse sein, zB Transienten auf der Spannungsversorgung oder ein alpha-Teilchen zischt durch den Speicher.
Die häufigsten SW-Fehler wurden schon aufgezählt. Daneben ist ein häufiger Fehler, daß bei Interrupt-Programmierung nicht-atomar auf Variablen zugegriffen wird. zB wird auf einer 8-Bit-Architektur ein 16-Bit-Wert gelesen/geschrieben, was die Architektur von Haquse aus nicht kann. Der Zugriff muss daher auf zwei 8-Bit-Zugriffe aufgeteilt werden. Geschieht zwischen diesen Zugriffen ein Interrupt, der die Variable verändert, hat man schon 8 Bit gelesen, die anderen 8 noch nicht *autsch*.
Auffällig ist, daß es alle 3 Tage passiert. Evtl auch eine Interrupt-Bedingung, daß 2 Interrupts zusammen auftreten oder einer verloren geht oder oder oder....







Zitieren

Lesezeichen