Probleme mit ATmega128 & RAM

Gast #1394861
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 ;)
Gast #1396578
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?
Gast #1397462
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!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren