mikrocontroller.net

Forum: PC-Programmierung USB - Deskriptor, Firmware


Autor: tunzer (Gast)
Datum:

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

Autor: ,,,, (Gast)
Datum:

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

Autor: Thomas B. (yahp) Benutzerseite
Datum:

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

Autor: tunzer (Gast)
Datum:

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

Autor: tunzer (Gast)
Datum:

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

Autor: hebel23 (Gast)
Datum:

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

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.