Forum: Mikrocontroller und Digitale Elektronik atxmega RAM korrupt ohne debugger


von Holger K. (holgerkraehe)


Lesenswert?

Hallo zusammen

Ich verwende einen ATXmega128 zusammen mit dem Atmel Studio.
Nun habe ich folgendes Problem:

Wenn ich das Programm debugge, läuft alles einwandfrei und auf dem 
ZeichenDisplay erscheinen die richtigen Zeichen, Texte etc.

Wenn ich nun nach dem Debuggen, das Board von der Speisung trenne und 
erneut verbinde, so ist das Programm noch irgendwie vorhanden, jedoch 
wird das Display mit dem Inhalt eines bestimmten Buffers gefüllt.
Zwischendrinn stehen dann noch die richtigen Zeichen, teilweise.

Ein BufferOverflow an sich wäre jetzt nicht sonderlich schwierig zu 
finden.
Da jedoch die Buffer alle brav in ihren Grenzen bleiben solange ich 
debugge, weiss ich nun nicht wirklich wie weiter.

Weshalb kann sich das Programm derart anders verhalten ohne Debugger?

Ich hoffe jemand hat einen Rat.

Danke.

von Jim M. (turboj)


Lesenswert?

Schaltplan+Layout, bitte.

Das Debugger Kabel verbindet die Schaltung mit PE (Erde), manchmal 
entschärft das elektomagnetische Störungen.

von Holger K. (holgerkraehe)


Lesenswert?

Jim M. schrieb:
> Schaltplan+Layout, bitte.
>
> Das Debugger Kabel verbindet die Schaltung mit PE (Erde), manchmal
> entschärft das elektomagnetische Störungen.

Das ganze ist am Laptop angeschlossen, ohne Netzteil.
Somit alles floatend.

Der Debugger ist direkt auf dem Board.
Somit erfolgt die Speisung über den selben USB Port wie beim Debuggen 
auch.
Nur das ich dann nicht im AtmelStudio den Debugger starte.

von Frank (Gast)


Lesenswert?

Evtl ist es mit Debugger langsamer und deshalb keine Sitzungen?
Verzögere Mal dein Programm und lass es dann nochmal laufen.

von Holger K. (holgerkraehe)


Lesenswert?

Problem gelöst, es was zuwenig stack vorhanden.

von m.n. (Gast)


Lesenswert?

Holger K. schrieb:
> Problem gelöst, es was zuwenig stack vorhanden.

Das wollte ich gerade schreiben ;-)
Das sind typische Programmfehler!

von P. Loetmichel (Gast)


Lesenswert?

> Problem gelöst, es was zuwenig stack vorhanden.

Mit BASCOM wär das nicht passiert.

von Jim M. (turboj)


Lesenswert?

P. Loetmichel schrieb:
>> Problem gelöst, es was zuwenig stack vorhanden.
>
> Mit BASCOM wär das nicht passiert.

Diese Aussage halte ich für gewagt, so ganz ohne weitere Details.

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.