Gast
#745942
Hallo, ich quäle mich gerade damit ab, mittels eines LPC2378 eine SD-Karte anzusprechen. Initialisierung der Karte klappt gut, aber das Lesen eines 512-Byte Blocks von der Karte will nicht recht klappen. Da der Arm zu langsam ist, die Kartendaten direkt auszulesen, versuche ich es über die GPDMA. Mein Code ist an das IAR-Example angelehnt. Tatsächlich werden einige Daten gelesen (ca. 100-300 bytes), dann stockt der Datenfluss und das MCI-Interface quittiert mit einem FIFO overrun. Woran kann das liegen? Wird der AHB durch irgendeinen anderen, höher priorisierten Transfer blockiert, so dass die DMA nicht zum Zuge kommt? Es gibt ja allerhand Register, den AHB über die AHB Arbiter Configuration Register zu konfigurieren, leider verstehe ich die Bedeutung der einzelnen Bits nicht, das User Manual schweigt sich darüber aus. Ohnehin ist die Anwenderunterstützung seitens NXP eine Katastrophe, keine Codebeispiele, keine brauchbaren Application Notes, wie das bei anderen Prozessorherstellen längst Standard ist. Auf dem Netz ist auch kaum etwas darüber vorhanden. Kann mir irgendjemand helfen, wie ich meine SD-Karte zum Laufen kriege? Herzlichen Dank Mike Hier das Codefragment:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
Warum wird bit 4 in DMACC0CONFIGURATION gesetzt. Laut Datenblatt ist dieses Bit "reserved/do not use" ???