AVR startet neu beim Lesen von Strings im Flashspeicher

OP #436821
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 :)
OP #436953
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?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.