Forum: Mikrocontroller und Digitale Elektronik Probleme mit ATmega128 & RAM


von Johannes Boss (Gast)


Lesenswert?

Hallo.

Ich versuche seit einger zeit ein vorgefertigten code für eine 
SD/MMC-Kartenansteuerung und FAT16 FS von einem ATmega644P auf Atmega128 
umzumünzen.
ich hab ein JTAG ICE I (nachbau...jedoch voll fuktionsfähig) und auch 
ein ausgereiftes testboard mit aufbau.

Problem ist stressig...MCU startet und gibt mir korrekt via USART eine 
meldung über den initalisierungsstatus aus. Danach sollte das 
Intaface(SPI) für die Karte initalisierst werden und das FAT16...dazu 
kommt es jedoch meist nicht! Er springt irgendwo ins Programm oder 
startet neu. Leider ist kein System drin. Er scheint aus zufall einfach 
so zu springen.
Interrupts sind via cli() deaktiviert.

Ich hab die vermutung das der RAM probleme macht...bzw das er überläuft!
Beim Kompilieren bleiben noch 50% vom RAM über...jedoch braucht FAT sehr 
viel auslagerung...wie kann ich feststellen wie und wann der RAM 
überläuft oder der Stack crasht?

Danke schonmal im vorraus ;)

von Stefan B. (stefan) Benutzerseite


Lesenswert?


von Johannes (Gast)


Lesenswert?

Fuses sind ok.
M102C ist nicht aktiviert.
Nur JTAG und OCD sind aktiv.

MCU Freq. ist auch korrekt. UART funktioniert auch...

Hab langzeit test via UART versuch...Lang texte und berechnungen 
ausgegeben und diese wiederholt.

Nur hab ich noch keine möglichkeut gefunden den RAM auf überlauf zu 
prüfen.

Weiß jemand wie ich bei überlauf irgendwas machen kann?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Vielleicht hilft dir da diese Diskussion weiter, insbesondere der Tip 
von Johann L.:
Beitrag "StackViewer (RAM Rechner) für WinAVR"

von Johannes (Gast)


Lesenswert?

Klasse! Vielen dank an stefan!

Ich konnt die funktion problemlos implantieren und dem fehler 
schrittweise auf die schliche kommen.

Am ende war es dann ein byte array mit 512bytes das ich 3 mal hin und 
her kopiert habe und es nicht freigeeben hatte.

danke nochmal!

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.