www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7, CrossWorks, non_init section


Autor: Nobbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte eine Variable beim Neustart des AT91SAM7 nicht neu 
initialisieren. Meines Wissens nach kann man dies unter CrossWorks ARM 
1.7 so lösen, in dem die Variable in die "non_init" section gemappt 
wird.
int x  __attribute__((section(".non_init")));

Wenn ich das Projekt kompiliere bekomme ich folgende Fehlermeldung:

"cyclic memory section dependency with section .fast_run"

Hat da jemand von euch schon Erfahrungen? Muss ich eventuell noch etwas 
im flash_placement file ändern?

Danke.

Gruss
Nobbie

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

schau mal in dein Verzeichnis von Crossworks: "..\targets" nach,
da sind alle "Placements Files" enthalten.

Deine ".non_init" Section ist laut meinen Files nur für Externen RAM (S 
oder SD) gesetzt.

Entweder du verschiebst diese oder erstellst dir eine eigene im internen 
RAM.

mfg

Stephan

PS: Schau auch mal bei Crossworks unter "Linking and section placement" 
in der Hilfe nach.

Autor: Nobbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stephan,

ich habe mir eine separate section im internen SRAM angelegt:
- <MemorySegment name="Internal SRAM;SRAM;SDRAM;DRAM">
  <ProgramSection size="0x3C" load="No" name=".vectors_ram" /> 
  <ProgramSection alignment="4" load="No" name=".fast_run" /> 
  <ProgramSection name=".non_init2" load="No" alignment="0x4" /> 
  </MemorySegment>
  </Root>

alleine durch das anlegen der section ".non_init2" generiert mit 
CrossWorks die Fehlermeldung: "cyclic memory section dependency with 
section .fast_run"

Hast du/ihr eine Idee, was da schief läuft?

Danke und Gruss
Nobbie

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Nobbie

hast du eine Lösung gefunden?
Wird mich interessieren.

mfg
Stephan

Autor: Nobbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stephan,

bis jetzt noch nicht. Ich habe das Problem jetzt auch erst mal aus 
zeitlichen Gründen nach "hinten gerückt".

Die Fehlermeldung ist also nach wie vor vorhanden. Sobald ich wieder 
mehr Zeit habe, will ich mich damit ausführlicher beschäftigen 
(Supportanfrage bei Rowley).

Solltest du zwischenzeitlich eine Lösung gefunden haben, dann bitte mal 
posten.

Danke und Gruss
Nobbie

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.