Forum: Mikrocontroller und Digitale Elektronik AVR startet neu beim Lesen von Strings im Flashspeicher


von Michael S. (kyromaster)


Lesenswert?

Ich habe ein komisches Problem beim Programmieren meines atmega32. Wenn 
ich eine bestimmte Anzahl an Strings mit dem PSTR() Makro in den 
Flashspeicher lade, startet der AVR beim Ausgeben des letzten Strings 
neu. Das ist reproduzierbar, also wenn ich einen String auskommentiere 
kann ich dafür einen neuen Einfügen. So habe ich das zumindest 
reproduzieren können.
Jetzt frage ich mich woran das liegen könnte, mein Programm ist laut der 
Ausgabe der Makefile (Standard-WinAVR Makefile) nur 23kb groß, und es 
soll ja laut AVR libc Doku nur Probleme mit Flash-Strings ausserhalb der 
64KB-Grenze geben, was für mich ja irrelevant ist.
Ich erhalte auch keine Fehler vom Linker o.Ä.
Kann mir jemand hier helfen?

Vielen Dank schonmal im Vorraus :)

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Program-Code!

von Michael S. (kyromaster)


Lesenswert?

Naja das sind schon ein paar Dateien, ausserdem was würde das konkret 
helfen. Ich denke ich habe das Problem oben ziemlich genau beschrieben.
Ich müsste das auch abklären (ist ein Uni-Projekt), aber wenn es 
wirklich was bringen würde... Ist aber so dass das Programm ohne die 
passende Hardware (eigene Grafikeinheit und MMC-Reader) eh abbricht.
Auf jeden Fall ist es einfach so dass anscheinend zu viele dieser PSTR() 
strings vorhanden sind.
Hat jemand Erfahrungen mit diesem Problem?

von Michael S. (kyromaster)


Lesenswert?

Ich stelle den Quelltext hier mal rein vielleicht kann dann ja jemand 
helfen.

von Michael Wilhelm (Gast)


Lesenswert?

Stack Überlauf?

MW

von Michael S. (kyromaster)


Lesenswert?

Kann man das überprüfen?
Ich habe aber keine größeren lokalen Variablen und auch keine 
Rekursionen.
Das komische ist ja auch wenn ich eine Debugausgabe auskommentiere 
erfolgt der Neustart woanders.

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.