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
Atmel nutzt doch immer einen kostenpflichtigen C Compiler für seine Beispiele - sicher dass es für GCC ist?
Ja klar. Ist für beides. GCC und IAR. Ich nehme natürlich das gcc beispiel.
Linkerfile entsprechend angepasst? Also reingeschrieben, dass es irgendwo ein SD-RAM Adressbereich gibt?
@tommy Ja klar. Ich nehme ja das Bsp von Amtel. und es geht nicht. Hat jemand die gleich erfahrung?
Ok, hat sich erledigt. Atmel hat ein neus lonker script jetzt funktioniert es
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.