hm mal so ne ganz doofe Frage: kann es sein, dass mein Programm irgendwo zuviel Speicher in Anspruch nimmt? Z.B. dass der RAM überfüllt wird. Könnte die ganzen Strings aus dem Menue in's Flash-Rom packen, ist eh Unsinn, dass die im Ram rumgeistern...
Hat jemand eine Idee?
Vielen Dank,
Simon
Edit:
Aus Mikrocontroller.net:
Kann es sein, dass ich mit meinen ganzen Bitfeldern ungünstige Speicheradressen belege?malloc() legt Speicherblöcke im Heap an, belegt man zuviel Platz, dann wächst der Heap zu weit nach oben und überschreibt den Stack, und der Controller kommt in Teufels Küche. Das kann leider nicht nur passieren wenn man insgesamt zu viel Speicher anfordert, sondern auch wenn man Blöcke unterschiedlicher Größe in ungünstiger Reihenfolge alloziert/freigibt (siehe Artikel Heap-Fragmentierung).
Lesezeichen