Pointer im Flash auf String im Flash

Gast #1639493
Lesenswert?
• ▲
▼
Hallo werte Leidensgenossen,

Ich bin seit ein paar Stunden auf der Suche nach der Lösung eines 
Problems, dass ich anscheinend allein nicht bewältigen kann. Deshalb 
wende ich mich an euch. Für ein graphisches Display mit vielen Menues 
und Texten suche ich eine Möglichkeit im Flash eines Atmegas eine 
Adresstabelle anzulegen, deren Inhalt auf Strings zeigen soll, die 
ebenfalls im Flash liegen bleiben sollen.

Wenn eine solche Tabelle im Ram anlegen möchte kenn ich diese 
Möglichkeit:

char* foo[] = {"Menue1","Menue2",...};

Hier wird eine Tabelle im Ram ezeugt die auf die Strings im Ram zeigt. 
Wenn ich dieses auf den Flash portiere, mit:

char* foo_flash[] PROGMEM = {"Menue1","Menue2",...};

habe ich nach langem probieren herausgefunden, dass eine Tabelle im 
Flash erzeugt wird, deren Inhalte aber immernoch nur auf die Adressen 
der Strings im Ram verweisen.

Meine Frage: Gibt es eine Möglichkeit dem Compiler bzw Linker zu sagen, 
dass die Tabelle sowie die Strings im Flash abgelegt werden sollen??

Vielen Dank,
Benny.
Gast #1639500
Lesenswert?
• ▲
▼
Ist das die einzigste sicherste Möglichkeit oder gibt es ggf. noch eine 
weitere Möglichkeit nach dem o.g. Schema im ersten Beitrag vorzugehen?

Mit freundlichen Grüßen.

PS: Ich erlaube mir die Frage, weil es bei der Fülle an Texten einen 
erheblicheren Mehraufwand bedeuten würde und ich über jede Verkürzung 
sehr froh wäre. Es handelt sich um die 50 Strings...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.