Forum: Mikrocontroller und Digitale Elektronik Speicher verschwindet


von H. Rothenberg (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend,

ich habe folgendes Problem. Ich beschreibe meinen ATMega88 ganz normal ( 
Siehe Bild 1.

Programm und alles ist 1A.

Schalte ich mein Board aus und mache es wieder an, stürtzt mein Programm 
ab. Nun habe ich festgestellt das wohl mein Speicher teilweise gelöscht 
wird. Bild 2.

Schreibe ich mein Programm wieder rein geht es wieder 100% bis zum 
nächsten ein und aus :-(

Wie kann das sein? Es ist ein Neuer ATMega. Kann man da noch was machen?

von Peter D. (peda)


Lesenswert?

Schaltplan,
Fuse-Bits

von amateur (Gast)


Lesenswert?

Kann es sein, dass deine Quelldatei leer oder im Eimer ist?
Wenn ich nix ins Flash schreibe und anschließend mit nix vergleiche, so 
ist dieser Vergleich korrekt, aber nicht gerade umwerfend brauchbar.
FFh ist oft ein Zeichen von Leer, muss aber nicht sein.
Ein Tipp: Anschließen und explizit auslesen. Unbedingt eigenen Namen 
fürs Ziel verwenden. Wenn Du ein Hex-File rausbekommst, ist eine 
ASCII-Datei, kannst Du ja mal reinschauen. Steht da nur FF, FF usw. so 
ist auch nix angekommen.

von H. Rothenberg (Gast)


Angehängte Dateien:

Lesenswert?

Den Schaltplan habe ich gerade nicht zur hand. Doch wird es an der 
Schaltung nicht liegen. Habe hier 20 Boards da geht alles.

Fuse Bits: Bild 1 und 2 sind die bei denen es nicht mehr geht.
Fuse Bits: Bild 3 und 4 sind nach dem Programmieren wo alles bis zur 
Stromabschaltung geht.

von holger (Gast)


Lesenswert?

>Fuse Bits: Bild 1 und 2 sind die bei denen es nicht mehr geht.
>Fuse Bits: Bild 3 und 4 sind nach dem Programmieren wo alles bis zur

Die sind doch alle identisch.

Warum ist die BOOTRST Fuse gesetzt?

von H. Rothenberg (Gast)


Lesenswert?

Weil ein Bootloader drauf ist.

von holger (Gast)


Lesenswert?

>Weil ein Bootloader drauf ist.

Warum programmierst du dann nicht per Bootloader?

>Schalte ich mein Board aus und mache es wieder an, stürtzt mein Programm
>ab. Nun habe ich festgestellt das wohl mein Speicher teilweise gelöscht
>wird. Bild 2.

Teilweise oder ganz? Zeig doch mal ein HEX File. Läuft der
Bootloader evtl. Amok?

>Schreibe ich mein Programm wieder rein geht es wieder 100% bis zum
>nächsten ein und aus :-(

Sowas hatte ich mal mit einem alten Tiny.
Hatte ne Überspannung auf den Kopf bekommen.
Der lief nach dem programmieren auch, aber einmal
Spannung für 30s aus und wieder ein, nix mehr, tot.

von H. Rothenberg (Gast)


Angehängte Dateien:

Lesenswert?

Bild 1 Zeigt den Code aus dem ATMega88 nach dem Programmieren.
Bild 2 den Code nach einem neuanschalten.

von holger (Gast)


Lesenswert?

>Bild 1 Zeigt den Code aus dem ATMega88 nach dem Programmieren.
>Bild 2 den Code nach einem neuanschalten.

Hmm, deine Interruptvektoren und der Resetvektor wurden gelöscht.
Wer auch immer das gemacht hat;)

von H. Rothenberg (Gast)


Lesenswert?

Wie getippt ich trenne Ihn lediglich von der Spannun, warte einen Moment 
und schalte wieder ein. Melden tut sich der Bootloader normal und auch 
das Programm startet. Aber wie eben richtig bemerkt bei einem Interrupt 
warst das.

Auch wie getippt läuft das ganze schon 20x hier neben mir. Nur der kerl 
will nicht.

Kann das Flash defekt sein?

Doch warum wird das Flash bei Spannung gehalten?

von holger (Gast)


Lesenswert?

>Kann das Flash defekt sein?

Glaub ich nicht.

>Hmm, deine Interruptvektoren und der Resetvektor wurden gelöscht.

Exakt eine Page. Was für ein Zufall. Und ich glaube nicht an Zufälle.

>Doch warum wird das Flash bei Spannung gehalten?

Weil der Bootloader erst beim nächsten Neustart den Bereich löscht?
Das ist doch ein Softwareproblem.

von H. Rothenberg (Gast)


Lesenswert?

ICh glaube ja auch nicht an einen Defekt deswegen sitze ich ja noch hier 
:-(

von holger (Gast)


Lesenswert?

>ICh glaube ja auch nicht an einen Defekt deswegen sitze ich ja noch hier
>:-(

Dann brenn doch mal ein kleines Programm ohne Bootloader rein.
So ein kleines ganz nacktes Blinky mit ner LED.
Dann wirst du schon sehen ob das Flash noch in Ordnung ist.
Ist das denn so schwer?

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich verdächtige auch den Bootloader.

von H. Rothenberg (Gast)


Lesenswert?

Der Bootloader läuft schon seit x jahren .. und auf den anderen Systemen 
habe ich auch kein Problem.

Aber een habe ich den File mal via Bootloader ruff geschmissen. So wie 
es aussieht hält der ... verstehe ich nicht.. aber ich warte noch mal.

von H. Rothenberg (Gast)


Lesenswert?

Zufrüh gefreud. OK ich werde mal was anderes drauf schreiben.

von Peter D. (peda)


Lesenswert?

Mit Bootloader muß auch immer das Brownout enabled sein!

von H. Rothenberg (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Mit Bootloader muß auch immer das Brownout enabled sein!

Wie meinst Du das?

von H. Rothenberg (Gast)


Lesenswert?

Ich habe nun Brownout  auf 4,3V gestellt und es scheint zu gehen. Aber 
warum? Würde mir das einer bitte mal erklären. Alle anderen die mit 
diesem Booloader laufen haben den Brownout disabled und laufen. GLÜCK??? 
Muss ich nun durch halb Deutschland fahren und die alle umstellen?

von Michael (Gast)


Lesenswert?

H. Rothenberg schrieb:
> Ich habe nun Brownout  auf 4,3V gestellt und es scheint zu gehen. Aber
> warum?

Weil der Prozessor bei unzureichender Versorgungsspannung dann nicht 
mehr Amok läuft.

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
Noch kein Account? Hier anmelden.