Forum: Mikrocontroller und Digitale Elektronik Embedded EHCI Treiber


von Mars (Gast)


Lesenswert?

Hallo Leute,

kennt jemand von euch einen (freien) Treiber für EHCI kompatible 
USB-Controller. Dieser sollte ohne Betriebssystem auf einem ARM laufen.

Grüße

von Εrnst B. (ernst)


Lesenswert?

Was soll er denn können? Ohne Betriebssystem auf dem ARM sicher nicht 
viel...
Reicht Ein-/Ausschalten => IO-Port togglen, kein "Treiber" nötig?
Soll er Geräte enummerieren?
Zugriff auf verschiedene Device-Klassen bieten wie z.B. CDC(-Ethernet), 
USB-Storage?
Und dann vielleicht auch noch TCP-Stack, Firewall, SCSI-Blockdevice, 
Filesysteme usw mitbringen, die auf dem EHCI-Treiber aufsetzen?
Und überhaupt, welcher EHCI-Chip soll es werden, über PCI-Bus wirst du 
den ja kaum an den ARM anschließen, oder?

Die Linux-Treiber hast du dir sicher schon angeschaut, oder? Die sind 
aber recht verzahnt mit den ganzen usbcore-Geschichten, wird nicht 
leicht die zu transplantieren.

von Mars (Gast)


Lesenswert?

>Was soll er denn können? Ohne Betriebssystem auf dem ARM sicher nicht
>viel...
Wieso?

>Reicht Ein-/Ausschalten => IO-Port togglen, kein "Treiber" nötig?
>Soll er Geräte enummerieren?
Reset/Suspend und eine QueueURP Funktion würden schon reichen.

>Zugriff auf verschiedene Device-Klassen bieten wie z.B. CDC(-Ethernet),
>USB-Storage?
>Und dann vielleicht auch noch TCP-Stack, Firewall, SCSI-Blockdevice,
>Filesysteme usw mitbringen, die auf dem EHCI-Treiber aufsetzen?
Wir wollen mal nicht übertreiben.

>Und überhaupt, welcher EHCI-Chip soll es werden, über PCI-Bus wirst du
>den ja kaum an den ARM anschließen, oder?
Die LPC31xx haben einen EHCI-kompatiblen Controller an Bord.

>Die Linux-Treiber hast du dir sicher schon angeschaut, oder? Die sind
>aber recht verzahnt mit den ganzen usbcore-Geschichten, wird nicht
>leicht die zu transplantieren.

Ja, die habe ich mir bereits angeschaut. Leider gibt es keine LowLevel 
Doku - zumindest habe ich keine gefunden. Abgesehen davon doch sehr mit 
dem restlichen Kernel verzahnt.

von Εrnst B. (ernst)


Lesenswert?

Also sowas hier:
http://www.thesycon.com/eng/embusbhost.shtml
(http://www.thesycon.com/deu/embusbhost_de.shtml)

bzw davon nur die untersten Layer.

erfüllt halt nicht die "frei"-Anforderung, die du oben in Klammern 
gesetzt hattest.


Edit:

Ach ja, NXP selber wirbt für die LPC31xx mit:

"Free USB Host Stack w/ Mass Storage Driver online for LPC devices"...

Habs auf die schnelle nicht auf deren Webseite gefunden, vielleicht in 
der "LPC313x Common Driver Library (CDL)" ?

von Mars (Gast)


Lesenswert?

Danke für deine Mühe.

In der "LPC313x Common Driver Library" habe ich nur ein USB Device Demo 
gefunden, was allerdings nicht funktioniert (Windows meldet Fehler beim 
Enummerieren...). Abgesehen davon, schaut mir der Sourcecode so aus, als 
hätte den ein IT-Inder zusammengefrickelt.

thesycon hat deren Treiber leider nicht für den LPC31xx im Angebot und 
so wie es aussieht bisher auch nur mit Fullspeed-Controllern getestet.

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
Noch kein Account? Hier anmelden.