www.mikrocontroller.net

Forum: Compiler & IDEs keyword: '_at_' für GNU C compiler


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

ich bin schon letzte Woche auf das keyword '_at_' gestoßen, das es 
ermöglicht Variablen an einer bestimmten Speicheradresse abzulegen.
Bei bestimmten compilern sieht das nämlich so aus:

const unsigned char test at 0x1000;

soweit ich verstanden hab wird dann die Variable 'test' an der absoluten 
Speicherstelle 0x1000 abgelegt.

Dazu meine Frage:
Ich benütze den GNU C Compiler, der scheint das keyword '_at_' nicht zu 
kennen. wie kann man das Problem bei diesem compiler lösen?
gibts da ein anderes keyword?
Hat jemand schon mal sowas gemacht?

DANKE im voraus!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht beim gcc nicht mit diesem (im übrigen nicht standardisierten) 
Mechanismus; stattdessen sind Linkerskripte zu verwenden. Näheres 
darüber wird wohl hier Beitrag "Re: Ein paar Fragen zum ARM LPC2106" 
diskutiert.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab mich da mal durchgeschmökert, klingt alles ziemlich kompliziert für 
jemanden der noch nicht allzuviel Programmiererfahrung hat.
Kann mir da jemand bitte weiterhelfen?
wie muss ich das Linkerskript editieren dass eine Variable im Flash 
abgelegt wird?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann keine Variablen im Flash anlegen: der ist naturgemäß
read-only und eine "Variable" per definitionem etwas, was man
ändern kann, sonst wäre es eine Konstante.

Aber wenn es dir darum geht, bestimmte Daten im Flash hinterlegen
zu lassen, dann schau dir mal PROGMEM an.  Sollte im Tutorial
ausreichend erläutert sein.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, war ein wenig knapp erläutert.
wie du aber richtig erkannt hast, möchte ich daten im Flash hinterlegen, 
die auch nach ausschalten meines Eval-Boardes gespeichert bleiben.

soviel ich aber gelesen hab ist PROGMEM für AVR Mikrocontroller, ich 
nutze einen ARM7 (LPC2119) von Philips!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich nutze einen ARM7 (LPC2119) von Philips!

Hmm, das hättest du vielleicht gleich schreiben sollen.

Sorry, da habe ich keine Ahnung, wie dort der Flash geschrieben
wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.