Hallo, ich bin inzwischen mit dem LPC2378 (OLIMEX -Board) weitergekommen. SD-Karte, Filesystem und UART laufen inzwischen. Auch das USB-MSC Beispiel von Keil funktioniert nach einigen Querelen. Die USB Buchse hängt beim Olimex-Biard and USB2 statt an USB1 wie bei Keil... Nun wollte ich das Beispiel so umstricken, dass die SD-Karte als Mass-Storage angsprochen wird und nicht das interne RAM des LPC. Das ist leider nicht ganz so trivial, da die Keil-Software alle Mass-Storage Kommandos im USB-Interrupt abarbeitet. Bei Memory-Zugriffen ist das akzeptabel, beim Lesen/Schreiben von Karte nicht. Ich will daher eine Art Queuing implementieren, die SCSI-Kommandos werden im Interrupt in die Queue geschickt und dann im USER-Mode zum geeigneten Zeitpunkt abgearbeitet. Dabei habe ich eine Verständnisfrage zum USB-Modul des LPC2378: Im Datenblatt ist vom EP-RAM die Rede, in dem die über den USB geschickten Daten landen, bevor sie ausgelesen werden. Ist dies mit dem USB-RAM identisch? Dies ist wichtig, da ich meine Datenpuffer für das Karteninterface auch im USB-RAM angelegt habe (nur dort kann die GPDMA zugreifen). Oder hat das EP-RAM einen eigenen Speicherbereich? Gruss Mike
Der EP-RAM ist nicht der USB-RAM. Auf den EP-RAM kann nicht direckt drauf zugegriffen werden, er liegt nicht im Adressbereich des ARM. Der EP-RAM hat nur die Aufgabe die Daten von USB zwischen zu buffern. Also der PC schickt ein USB Telegramm in den Endpoint, die Daten landen im EP-RAM, von dort müssen sie abgeholt werden (also z.B. in den USB-RAM kopieren), dann ist der EP-RAM wieder frei und kann das nächste USB Telegramm empfangen werden. Irgendwo müssen ja die großen Datenmengen der USB Übertragung abgelegt werden, genau dafür ist der EP-RAM da. In der Übersicht des LPC Controllers siht man sher schön die einzelnen RAM Blöcke und in der Adress-Übersicht taucht der EP-RAM nicht mehr auf, also hat der auch keine direckten Adressen des Prozessors. Die 4Kb EP-RAM sind also nur ein FIFO Speicher für die USB SIE. Gruß M.Müller
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.