Was bedeutet ((progmem))?

Gast #284125
Lesenswert?
• ▲
▼
> bin grad in nem Sourcecode über folgendes gestolpert:
> static char _attribute_ ((progmem))

Und diese Variable hatte keinen Namen?

> Bedeutet das das man Konstanten im Flash ablegen kann?

Ja.

> Und was bedeutet _attribute_?

Das ist eine GCC-Erweiterung, um Funktionen, Objekten und Typen
Attribute geben zu können.
Gast #284126
Lesenswert?
• ▲
▼
Es gibt schon nen Namen, aber der spielt ja keine Rolle.

Aber das mit dem Attribut hab ich noch nicht ganz kapiert.

static char _attribute_ ((progmem)) IrgendeinArray[] = {1,2,3,4};

Was oder wo ist da das Attribut? Steht das irgendwo beschrieben? Hab
darüber noch nix gefunden.
Gast #284128
Lesenswert?
• ▲
▼
Ich les schon seit 2 Stunden und hab auch schon versucht zu suchen.
Leider bin ich noch nicht fündig geworden und hab ehrlich gesagt auch
schon aufgegeben. Ein genauerer Hinweis wäre ganz nett
Gast #284130
Lesenswert?
• ▲
▼
Ah, thx. Das mit pgmspace hab ich schon gefunden. Und bei der GNU C Doku
selber hatte ich zugegebenermaßen nicht geschaut. Dachte das wäre im
WinAVR Paket mit dabei.

btw: ich hab in nem anderen Thread schonmal gefragt: ich hab hier immer
noch nur die WinAVR Version vom Februar. Ist das Projekt eingestellt und
wird nur noch an den einzelnen Baustellen gearbeitet oder gibt es auch
mal wieder ein Komplettpaket zum Installieren? Ich tu mich nämlich noch
echt schwer bei sowas und würde mich freuen wenn's wieder mal was DAU
taugliches gibt
Moderator Persönliche Seite #284131
Lesenswert?
• ▲
▼
> Und bei der GNU C Doku selber hatte ich zugegebenermaßen nicht
> geschaut. Dachte das wäre im WinAVR Paket mit dabei.

Ist sie ja auch. ;-)

> btw: ich hab in nem anderen Thread schonmal gefragt: ich hab hier
> immer noch nur die WinAVR Version vom Februar. Ist das Projekt
> eingestellt und wird nur noch an den einzelnen Baustellen gearbeitet
> oder gibt es auch mal wieder ein Komplettpaket zum Installieren?

Das Projekt ist nicht eingestellt, aber es ist letztlich praktisch
eine one-man-show, die zu einem guten Teil in der Freizeit von Eric
Weddington abläuft.
Gast #284132
Lesenswert?
• ▲
▼
> Ist sie ja auch. ;-)

Echt? Ich hab mit ner Volltextsuche danach gesucht und nix gefunden.
Naja, egal.

> Das Projekt ist nicht eingestellt, aber es ist letztlich praktisch
> eine one-man-show, die zu einem guten Teil in der Freizeit von Eric
> Weddington abläuft.

Hab ich vollstes Verständniss. Aber ich denke es gibt hier jede Menge
fähiger Leute die hier ein wenig nachhelfen könnten. Ich gehöre leider
(noch) nicht dazu, sonst würde ich das machen. Vielleicht finden sich
ja ein paar bereitwillige die das Projekt unterstützen?
Moderator Persönliche Seite #284133
Lesenswert?
• ▲
▼
Ich glaube, Erics Problem ist, dass das ganze Projekt derzeit als
one-man-show aufgezogen ist und nicht wirklich `shareable'.

Ich habe ihm schon paar Ideen unterbreitet, wie man das aufteilen kann
(ein Gerippe für die Paketverwaltung und einzelne kleine Päckchen für
die Tools, damit entkoppelt man die Sache, kann die einzelnen Tools
schneller aktualisieren bzw. diese Arbeit auch teilweise an andere
abgeben).  Findet er auch gut.  Nur: wenn man das jetzt implementiert,
würde sich das nächste WinAVR natürlich noch weiter rausziehen.  Also
wird wohl die nächste Version, damit sie nun endlich überhaupt mal
fertig wird, als Monolith gezimmert wie bisher, mit der Konsequenz,
dass Eric das letztlich weitgehend allein fertigstellen muss.
Gast #284134
Lesenswert?
• ▲
▼
was für Änderungen müssen am gcc,binutils/gdb denn durchgeführt werden,
die nicht durch den configure Prozess eingestellt werden können
(binary-prefix= avr, host=, target= etc.)? Oder betreffen die
Änderungen die anderen "Beigaben"?

Viele Grüße
Olaf
Gast #284136
Lesenswert?
• ▲
▼
Mmh, kann ich das so deuten, das die AVR Implementationen der
gcc/binutils distributions fehlerhaft sind, oder was soll gepatched
werden? Am Installer oder Programmer's Notepad kann/sollte es doch
nicht liegen.

Viele Grüße
Olaf
Gast #284138
Lesenswert?
• ▲
▼
Ein komplettes WinAVR Paket braucht es eigentlich gar nicht mehr.

Dank der neuen AVRStudio Version braucht man neben dem AVR-GCC
eigentlich keine weiteren Tools mehr.

Ich habe erfolgreich AVR-GCC (GCC 3.4.5) mit aktuellem binutils und
AVRlibc) sowie zum Vergleich auch mit GCC 4.0.2 mittels MSYS und MinGW
auf WinXP erstellt.

Für den ersten Einstieg in die AVR Programmierung genügt das aktuelle
WinAVR.

Wen man sich intensiver damit beschäftigen will, sollte man sich die
Zeit nehmen, selbst ein Packet zu kompilieren.
Moderator Persönliche Seite #284139
Lesenswert?
• ▲
▼
> Dank der neuen AVRStudio Version braucht man neben dem AVR-GCC
> eigentlich keine weiteren Tools mehr.

Vorausgesetzt, man will AVR Studio nehmen und sich auf die von diesem
unterstützten Programmieradapter beschränken. ;-)  (Außerdem brauchst
du natürlich in jedem Falle noch binutils und avr-libc.)

Man hat eigentlich natürlich auch noch nie WinAVR unbedingt gebraucht,
selbst compilieren ging schon immer...  In der Unix-Welt ist das lange
Zeit gang und gäbe gewesen.

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.