Forum: Compiler & IDEs AVR32 und externer SDRAM


von micro1 (Gast)


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

von Thomas K. (muetze1)


Lesenswert?

Atmel nutzt doch immer einen kostenpflichtigen C Compiler für seine 
Beispiele - sicher dass es für GCC ist?

von micro1 (Gast)


Lesenswert?

Ja klar. Ist für beides.
GCC und IAR.
Ich nehme natürlich das gcc beispiel.

von Simon K. (simon) Benutzerseite


Lesenswert?

Mein erster Tipp wäre: MAP File angucken.

von micro1 (Gast)


Lesenswert?

Hi,

map file schauen geht ja nicht da der compiler abbricht

von t0mmy (Gast)


Lesenswert?

Linkerfile entsprechend angepasst? Also reingeschrieben, dass es 
irgendwo ein SD-RAM Adressbereich gibt?

von micro1 (Gast)


Lesenswert?

@tommy

Ja klar. Ich nehme ja das Bsp von Amtel. und es geht nicht.
Hat jemand die gleich erfahrung?

von micro1 (Gast)


Lesenswert?

Ok,

hat sich erledigt. Atmel hat ein neus lonker script jetzt funktioniert 
es

von Tony (Gast)


Lesenswert?

Hallo!

Wo ist es möglich diese Linker-Skript hochzuladen?

Danke!

von Peter (Gast)


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

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.