AT91SAM7, CrossWorks, non_init section

Gast #1544660
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
Gast
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.
Gast
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
Gast
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.