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


von Nobbie (Gast)


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.
1
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

von Stephan (Gast)


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.

von Nobbie (Gast)


Lesenswert?

Hi Stephan,

ich habe mir eine separate section im internen SRAM angelegt:
1
- <MemorySegment name="Internal SRAM;SRAM;SDRAM;DRAM">
2
  <ProgramSection size="0x3C" load="No" name=".vectors_ram" /> 
3
  <ProgramSection alignment="4" load="No" name=".fast_run" /> 
4
  <ProgramSection name=".non_init2" load="No" alignment="0x4" /> 
5
  </MemorySegment>
6
  </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

von Stephan (Gast)


Lesenswert?

Hey Nobbie

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

mfg
Stephan

von Nobbie (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.