AVR32 und externer SDRAM

Gast #1567163
Lesenswert?

Hallo,

ich habe einen AVR32UC30256 inkl externen SDRAM wie auf dem eval board 
EVK1100.

Nun habe ich die anweisung von atmel gelesen damit mein gcc
variablen im sdram anlegen kann.

__attribute__((__section__(".data_sdram")))
volatile static char test[]="teststring";



 __attribute__((__section__(".bss_sdram")))
volatile static char test1;

Leider bekomme ich wenn ich dann variablen anlege wie oben folgennde 
fehlermeldungen immer:

Linking to `uc3a0512-extsdram_example.elf'.
c:/programme/atmel/avr tools/avr32 
toolchain/bin/../lib/gcc/avr32/4.3.2/../../../../avr32/bin/ld.exe: 
section .data_sdram [80008cac -> 80008cbb] overlaps section .balign 
[80008cac -> 80008caf]
c:/programme/atmel/avr tools/avr32 
toolchain/bin/../lib/gcc/avr32/4.3.2/../../../../avr32/bin/ld.exe: 
uc3a0512-extsdram_example.elf: warning: allocated section `.bss_sdram' 
not in segment
collect2: ld returned 1 exit status
make.exe: *** [uc3a0512-extsdram_example.elf] Fehler 1



WARUM?????

Ich mache alles wie es atmel sagt. Selbst atmel eigens beispiel bricht 
mit dieser Fehlermeldung ab
Gast #2843000
Lesenswert?

Hallo ich habe genaun das gleiche Problem.
Der externe SDRAM funktioniert ,
aber nur mit Zeigerzufriff.
z.B so

#define SDRAM           ((void *)AVR32_EBI_CS1_0_ADDRESS)

...

volatile unsigned long *sdram = SDRAM;
sdram[i] = 1;

wenn ich die von Ateml beschriebenen section einsetzte
erhalte ich fehlermeldungen beim compilieren.

kennt jemand diesen Linker script (wurde oben beschrieben )
mit dem das funktioniert ?
oder ein demo Programm in dem fertige linker scrips sind,
damit man die variablen so wie unten declarieren kann .

Bei den Atmel demo Programmen wird der externe RAM nur mit zeigern 
angesprochen, ich habe jedenfalls kein demo Programm gefunden
in dem das über die section geht.


__attribute__((__section__(".data_sdram")))
volatile static char test[]="teststring";

Für eine Antwort währe ich sehr dankbar.

Gruß Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren