Atmega2560 vergisst seine Programmierung über Nacht

Juro83

Neues Mitglied
05. Jan. 2010
3
0
0
Sprachen
Hi Leute,

seit September bin ich stolzer Besitzer eines AtMega2560 (mein erster uC). Ich nutze ihn mit dem MK3 - Board und dem entsprechenden mySmartUSB MK3.
Natürlich auch mit Netzteil und pipapo.

Ich stelle nun fest, dass das Programm vom Vorabend am nächsten Tag nicht mehr rund läuft... mal Crasht/Resettet es wenn ich irgendwelche Taster bediene, mal passiert einfach garnichts, obwohl es eben sollte. Wenn ichs nochmal drüberbrate läufts 1A. Ist übrigens in ASM programmiert und etwas umfangreicher.

Komischerweise funktioniert meistens noch die Initialisierung, d.h. LCD mit etwas Text, Ports und DDRs werden gesetzt etc PP... sobald dann aber richtig gearbeitet werden soll fliegt er irgendwo raus.
Es scheint, als würden irgendwo bei mir Bits kippen :(

Kommt das häufiger vor? Konnte in google und im Forum noch nichts dergleichen finden.
Oder liegt das an meiner Programmiermethode (HV-Parallel)?

Kann ich irgendwie einen Funktionstest durchführen?

Gruß
Juro
 
Hi
Eigentlich sollte ein µC sein Programm nicht vergessen, dafür wurde ja der Flash-Speicher erfunden. Ich vermute mal ohne Kenntnis deines Programmes, das dir der Stack überläuft, entweder aufgrund unsauber programmierter Sub- oder Interruptroutinen. Push und POP richtig aufgerufen ( auch nicht übersprungen?) Die RET oder RETI Anweisungen korrekt und keine Sprünge in andere Subroutinen. Kommt öfter vor als man denkt....
So denk ich, ist eine Timer ISR nicht richtig und springt ins Nirwana. Dann ist nichts mehr so wie's mal war. Und das über Nacht !
Gruß oldmax
 
Hi oldmax,

danke für die Antwort.
Sicher kann das sein - aber ich vermute, dass es dieses Mal nicht daran liegt. Vergessene pop/push merke ich meist recht schnell (dann hängts jedes Mal an der gleichen Stelle).

Ich lasse das ja auch nicht über Nacht laufen (sorry, wenn ich mich da falsch ausgedrückt habe) - das Teil ist die ganze Nacht ohne Strom. Ich lasse den uC aber auf dem Board aufgesteckt.

Ich kann nach dem Programmieren auch das Board vom Strom nehmen... nach 5 Minuten wieder anstecken und es läuft.

Erst nach Stunden geht da irgendwo etwas kaputt.

Sind die Eingänge so empfindlich? Ist es möglich, dass sich der uC einfach nur "induktiv" umprogrammiert? (Stecke das nicht in eine antistatische Hülle und Esmog gibts genug).

Soll ich versuchen, das mal nach dem Programmieren in Alufolie einzuwickeln (natürlich ohne Strom) und dann mal nachsehen?


Kurz zum Programm:
Ich habe eine kleine Treiberdatenbank gebaut für das LCD, die 7Segmentanzeige und den microSD Slot.
Aktuell lasse ich damit ein Testprogramm laufen, das einfach nur einen 32-Bit Zeitzähler hochzählt,
dabei je 2 16-Bit Zeitwerte auf dem LCD schreibt und mit dem Poti am ADC kann ich eine Tachonadel auf dem LCD anzeigen und drehen. Auch der Wert wird auf dem LCD angezeigt.
Irgendwann soll daraus ein kleiner Motorrad-Computer werden, den ich an die Schnittstelle anschließe und mir da die Infos raushole und anzeige.

Ich könnte den Status hier hochladen, aber ich will nicht, dass sich hier jemand was kaputtmacht indem er fehlerhaften Code installiert.
 
So, es hat sich erledigt und das Thema kann geschlossen werden.

Damit andere sich nicht am gleichen Problem den Kopf zerbrechen, möchte ich kurz einen Tipp geben:

Wenn der mySmartUSB mk3 am MK3-Board steckt, dieser aber nicht über USB mit Strom versorgt wird, dann scheint die Leistung des Versorgungsnetzteils nicht auszureichen, um Board mit LEDs, LCD und 7Segmentanzeige, uC und USB-Programmer ausreichend zu versorgen. Das resultiert in einem Reset, sobald der uC durch einen Timer, ADC oder ähnliches beschäftigt wird.

Fazit:
Wenn das Board mal "Standalone" genutzt werden soll, dann sollte der mySmartUSB abgezogen werden.

Zumindest bei mir hat das geholfen. Der Speicher ist völlig intakt und bleibt es auch.
 
Hallo,

ist ja ein "netter" Fehler :D Der hat so richtig das Potential für =>
=> SCH... DING ! und an die Wand feuer ... :D :rolleyes:
Naja ... man kann sich ja zurückhalten. Aber ein wirklich netter Fehler um
damit seine Zeit zu verplempern :p

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)