Forum: PC-Programmierung USB - Deskriptor, Firmware


von tunzer (Gast)


Lesenswert?

Hi,
ich beschäftige mich mit USB (Literatur: Jan Axelson, USB 2.0). Werde
später mit dem USB-Controller AT90USBxxx arbeiten, insbesondere dem
STK525.
Hab schon viel dazu gelernt. Was mich aber etwas durcheinander bringt,
sind Deskriptoren und Firmware.

Also Deskriptor hab ich soweit verstanden: Es enthält die grundlegenden
Infos zum Gerät. Der Host benötigt ihn bei der Enumeration usw. (steht
alles gut in dem Buch erklärt)
Muss der Deskriptor geschrieben werden oder übernimmt der Anbieter
diese Aufgabe?

Bei der Firmware bin ich nicht ganz sicher. Ist es die HEX-Datei, die
ich als Anwender programmiere, um die überhaupt Schnittstelle zu
aktivieren und den Datentransfer zu ermöglichen??

von ,,,, (Gast)


Lesenswert?

Der Descriptor ist Teil deiner Firmware. Er ist i. d. R. im Flash deines
Controllers abgelegt und wird bei der Enumeration ausgelesen. Mit
anderen Worten, der Deskriptor muß von dir geschrieben werden.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Hi,

wie schon bemerkt ist der Deskriptor ein Teil der Firmware. Er ist ja
im Prinzip nichts anderes als eine Tabelle von Werten und Strings mit
spezifiziertem Format. Der Deskriptor wird also mit der Firmware
erstellt. Allerdings kann es gut sein, dass der µC bereits einen Satz
brauchbarer Deskriptoren von Haus aus mitbringt - die Cypress EZ-USB
und Folgende machen dies so. Bei denen spart man sich bei Nutzung
dieser Deskriptoren nicht nur das Anlegen eigener Deskriptoren, sondern
auch die eigene Realisierung allerlei zugehöriger Firmware. Man kann
dann aber dann halt auch nur die bereits festgelegten
Endpointkonfigurationen verwenden.

Die "Firmware" ist nach meiner Begrifflichkeit nicht nur das HEX-File
sondern auch der Quelltext selbst, aber das ist Nebensache ;-) Die
Firmware jedenfalls übernimmt deine gewünschte Funktion auf dem µC. Die
Schnittstelle USB und die Kommunikation darüber kann der µC i. d. R.
schon selbst (wie es konkret beim AT90... aussieht kann ich natürlich
nicht sagen). Bei all den Typen, die selbst über USB programmiert
werden können, z. B. FLASH-lose Typen muss die Kommunikation aber schon
ohne Nutzer-Firmware funktionieren.

Gruß, Thomas

von tunzer (Gast)


Lesenswert?

:) Danke für die Informationen. Jetzt ist einiges etwas klarer. Ich
glaub Deskriptoren habe ich soweit verstanden, weiß auch wie sie
aufgebaut sind. Vor allem in dem Buch von John Hyde "USB Design by
Example" sind viele Beispiele gezeigt. Das werde ich auch hinkriegen.

Bei der Firmware an sich muss ich noch genauer schauen.

von tunzer (Gast)


Lesenswert?

Sorry dass ich wieder "stören" muss.
Ich möchte später ein Device als HID-device klassifizieren. Wie das im
device-, configuration-, interface-, endpoint- und string-descriptor
funktioniert, kann ich mir soweit ganz gut vorstellen. Jetzt müssen
zusätzlich zu diesen descriptoren ein HID- und report-descriptor
angelegt werden.
der HID-descriptor ist in dem Buch (Jan Axelson, USB 2.0) soweit ganz
anschaulich erklärt. Mit den report-descriptoren endet es dann aber mit
meinem Verständnis. Es ist zwar anhand eines Beispieles dargelegt, aber
so wirklich durchgeblickt habe ich nicht.

Kennt jemand weiterführende Literatur für mich über
Report-descriptoren?

von hebel23 (Gast)


Lesenswert?

Schau Dir mal die Seite:

http://www.ime.jku.at/TUSB/

an. Da geht es zwar um den TUSB3210 aber der Autor hat das alles
wirklich gut dokumentiert. Auch Beispiele, wie man vom PC aus auf das
HID-Gerät zugreift sind dabei.

Gruß Andreas

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.