mikrocontroller.net

Forum: Compiler & IDEs Array im Flash


Autor: TechInfo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe nun mein Array im Flash abgelegt
float array[30] __attribute__ ((section (".flash")));

und mittels einer Schreibe-ins-Flash-Routine initialisiert. Die Section 
"Flash" umfasst einen kompletten Sektor innerhalb des Flash-Bausteins.

Auf die Daten im Flash wird während des Programmablaufs lesend 
zugegriffen.

Kann es nun passieren, dass nach einem erneuten kompilieren und linken 
der Compiler das Array in einem anderen Teil der Section "Flash" 
definiert, der bspw. gar nicht mit Werten beschrieben ist? Dann würden 
meine Routinen ja nicht mehr funktionieren.

Autor: TechInfo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht formuliere ich die Frage nochmal anders:

Werden Variablen, die im Flash definiert werden, bei jedem neuen 
Compile-Vorgang wieder mit der selben Adresse definiert, wenn sonst 
nichts in diesem Bereich des Flashs abgelegt wird?

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TechInfo wrote:
> Werden Variablen, die im Flash definiert werden, bei jedem neuen
> Compile-Vorgang wieder mit der selben Adresse definiert...

Sehr wahrscheinlich nicht. Kann man relativ leicht mittels eines 
map-files nachvollziehen (Linker-Option -Map). Düfte geschickter sein, 
eine extra Section für das Array vorzusehen und im Linker-Script bzw. 
per Linker-Kommandozielenoption (--section-start) explizit für diese 
Section eine Startadresse anzugeben.

Martin Thomas


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.