DMA mit SD/MMC auf einem LPC2478 - Hilfe!

Gast #1458851
Lesenswert?
• ▲
▼
Hallo,
ich habe hier ein selbstgemachtes Board mit einem SD/MMC Sockel, sowie 
einem LPC2478 drauf.
Nun habe ich mal nach einem Beispielcode gegurgelt, der zeigt, wie man 
die Karte über das MCI ansteuert (da das ganze im User's Manual so gut 
wie gar nicht dokumentiert ist). Ich bin auch fündig geworden, irgend 
ein Code von Keil, der angeblich funktionieren soll....
Auf jeden Fall habe ich das ganze jetzt auf mein Board adaptiert. Die 
Karte lässt sich zwar ansprechen und initialisieren, aber es tritt 
folgendes Problem auf:

- ist das Interface auf 1 Bit Modus eingestellt, dann geht alles 
einwandfrei. Transfer eines Sektors der Karte ins interne RAM per DMA 
funktioniert einwandfrei.

- schalte ich das MCI auf "4 bit wide interface" Modus um, dann wird die 
Karte zwar immer noch korrekt angesprochen, beim lesen jedoch 
transferiert der DMA nur Murks in den Puffer: erstmal völlig wirre 
Zeichen, danach gewisse Sequenzen, die sich zufällig wiederholen, und 
danach nur noch 0xFF.
Frage: was läuft da falsch? Gibts irgendwas, was man noch beachten 
sollte, wenn man das MCI per DMA ansteuert?

Ich hoffe ihr könnt mir weiterhelfen.

PS: ich benutze IAR EWARM.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.