mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EP_RAM beim LPC2378


Autor: Mike (Gast)
Datum:

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

Autor: MmVisual (Gast)
Datum:

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

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.