mikrocontroller.net

Forum: Compiler & IDEs AVR32 und externer SDRAM


Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas K. (muetze1)
Datum:

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

Autor: micro1 (Gast)
Datum:

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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein erster Tipp wäre: MAP File angucken.

Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

map file schauen geht ja nicht da der compiler abbricht

Autor: t0mmy (Gast)
Datum:

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

Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@tommy

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

Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok,

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

Autor: Tony (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

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

Danke!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.