Konstantes char array im Flash ablegen

Gast #473731
Lesenswert?

Hallo Zusammen,

erstaml sorry, ich habe diesen teil schon mal in nem anderen Forum 
gepostet, denke aber hier passt er besser her!

ich benutze den GNU GCC Compiler und möchte folgendes realisieren:

#include <avr/pgmspace.h> //WinAVR
#include <progmem.h> //AVR-GCC

const unsigned char code carbmp[]= { //Keil
const rom unsigned char carbmp[]= { //Microchip C18
const unsigned char carbmp[]= { //SDCC
prog_uchar carbmp[]= { //AVR-GCC, WinAVR


Hab diese Möglichkeiten für andere Compiler gefunden, wie mach ich das 
mit GNU GCC?
Möchte ein Konstantes Char Array im Flash meines Philips LPC2119 
ablegen!
Persönliche Seite #473748
Lesenswert?

pgmspace.h und die darin betriebenen Dinge sind auf einem ARM wie dem 
LPC2119 vollkommen unnötig, da das eine von-Neumann-Maschine ist (im 
Gegensatz zur Harvard-Architektur des AVR).

Es gibt also nur einen Adressraum, in dem sowohl RAM als auch ROM liegen 
- aber eben an unterschiedlichen Adressen.

Daher sollte es genügen, wenn Du das Schlüsselwort "const" verwendest - 
probiere es aus und sieh Dir das Mapfile an bzw. bestimme zur Laufzeit 
die Speicheradresse Deines Arrays.
Gast #473766
Lesenswert?

Sorry, bin noch nicht allzu erfahren.
Const hab ich schon ausprobiert - hat nicht funktioniert.
möcht erst mal sicher gehen, ob das Array wirklich im Flash abgelegt 
wird.
wo kann ich mir das Mapfile ansehen?
Oder wie find ich das sonst raus?
Gast #473964
Lesenswert?

Wenns sich erledigt hat, kann man wenigstens die anderen Threads im 
anderen Forum abschließen ("hat sich erledigt"). Dann hätte ich mir die 
Arbeit mit der Prosa im anderen Thread mit gleichlautender Frage sparen 
können. Sorgt für Verdruss - da hilft auch kein vorauseilendes "Danke 
für die Geduld", wenn man gleichzeigt zeigt, dass man selbst keine hat, 
um erstmal auf eine Antwort zu warten.

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