Hallo zusammen, ich beschäftige mich mit einem XMega 128A1 auf dem XPlained Board von Atmel um Mal in die Welt der XMegas kennen zu lernen. Ich habe auch schon viele APP-Note für dieses Board "durchgespielt". Nun aber zu meinem Problem/Frage. Ich möchte mit einem DMA-Transfer vom Daten aus einem Array zur USART (im MSPI-Modus) schicken. Das funktionierte alles super, bis ich meine eigentliche Arraygröße (40k) eingestellt habe und mir auffiel das der Arbeitsspeicher ja nur 8k ist. Also kein Problem dachte ich nutzt du den externen SDRAM auf dem Board. APP-Note 1312 durchgespielt und mit dem EBI-Treiber und der dort hinterlegten Schreib/lese -Funktion kappt es auch. ABER wie mache ich das jetzt über DMA? Welche Adresse stelle ich als DMA Source ein? Wie deklariere ich eine Variable die im externen Speicher liegt? Ich habe gelesen, dass der ext. Speicherbereich an das Ende des internen Speichers gemapped wird. Der SDRAM hat die Baseadr. 0x8000. Ich nutze AVR-Studio 5 mit AVR-GCC. Über jede Hilfe, jedes Beispiel oder Verweis auf andere Quellen wäre ich sehr dankbar. Gruß Sören
Hallo Sören, meiner Meinung nach geht das gar nicht (keine Verbindung zwischen EBI und DMA). Gruß Kai
Ich denke schon dass das geht. Immerhin kann man in "DMA Channel Source Address" eine 24-Bit Adresse einstellen. Das EBI sollte also per DMA funktionieren
Hallo ich, d.h. ich muss die BaseAdr. angeben? Muss ich dem Compiler eigentlich auch mitteilen, dass es externen Speicher gibt? @UWE wie übersetzt du das Bild in C-Code? (wenn es so geht) Grüß Sören
Morgen, zur DMA Steuerung kann ich zwar nichts sagen, aber hier gibs eine kleine Hilfe zur Verwaltung des MEMs mit dem GCC. Beitrag "48KB SDRam für gcc auf xplain"
Hallo Stephan, vielen Dank für den Link, den hatte ich noch nicht gefunden. Jetzt funktioniert es. Ich habe als DMA Adr. einfach die 0x4000 angegeben. Vielen Dank. Grüß Sören
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.