Gast
#3952578
Hallo zusammen. Ich habe ein Problem mit einem ATMega64. Der ATMega64 dient der Steuerung von - Erzeugung von Audio Signalen - Verstärken von empfangenen Audiosignalen - Steuerung von AD Wandler zur Digitalisierung der verstärkten Signale - Ausgabe der Ergebnisse über UART (nur auf Anforderung von außen) Das ganze läuft mit 2 Batterien (AA je 1,5V). Daher ist ein Auto Power Off eingebaut wodurch Strom gespart werden soll, wenn länger nichts gemessen wurde. Dazu verwende ich einen Bootloader, der es mir ermöglicht ein Firmware Update durchzuführen ohne eine der Standardprogrammierschnittstellen verwenden zu müssen. Somit kann ich den Flash schreiben und löschen, wann immer ich den Bootloader benutze will. Der Bootloader kann nur durch eine bestimmte Reihenfolge an Funktionsaufrufen aktiviert werden. Jetzt habe ich aber das Problem, dass es hin und wieder vorkommt, dass die Funtkion zum Löschen des Flashes auch ohne das Starten des Bootloaders ausgelöst wird. Dies äußert sich so, dass das Programm nicht mehr funktioniert, keine Kommunikation möglich ist, und dass Auslesen bzw. Schreiben des Flashes nur noch über ISP möglich ist. Beim Auslesen des Flashes und anschließendem Vergleich mit der Original Hexdatei hat sich gezeigt, dass in solch einem Fall immer genau eine Page (also 256 Bytes) gelöscht wurde. Natürlich läuft das Programm dann nicht mehr. Neu flashen bringt den Controller auch wieder zum Laufen. Ich kann diesen Fehler bisher auch nicht reproduzueren. Ich habe mit der Spannungsversorgung einiges ausprobiert (leere Batterien simoliert), alles ohne Erfolg. Hat jemand schon mal ein ähnliches Verhalten beobachten können? Wie kann ich dem Problem Herr werden? Könnt es hier ein Problem mit der Spannungsversorgung geben? Was könnte noch die Ursache sein? EMV vielleicht? Ich danke Euch für jeden Tipp den Ihr mir geben könnt.