USB+AVR als Datenträger unter XP

Gast #200478
Lesenswert?
• ▲
▼
Hallo Leute,

Ich habe einen AVR mit einem FT232BM zusammengelötet. WinXP erkennt den
Baustein und verlangt nach den Treibern. Einen Treiber mit virtuellem
COM-Port gibt es von FTDI.
Den brauche ich nicht, sondern ich will eine Befehlssequenz vom AVR zum
PC üertragen, so dass dieser mein Board als Datenträger ansieht (gleich
einem USB-Stick).
Über google habe ich schon mal versucht was rauszubekommen ist aber
hoffnungslos, da mir absolut der Background von USB und XP fehlt.
Welche exakten Suchbegriffe bringen mich zu dem gewünschten Ergebnis?
Wie sieht der "Talk" mit WinXP aus?
Hat jemand eine Buchempfehlung oder ein nettes PDF mit Infos?

Zähle auf euch,
Gruß Alex
Gast #200480
Lesenswert?
• ▲
▼
Tobi hat recht. Das von den FTDI-Chips abgewickelte USB-Protokoll ist
fest in diese eingebaut und kann in keiner Weise modifiziert werden.

Um ein "Mass Storage Device" zu implementieren, benötigt man schon
einen programmierbaren USB-Devicecontroller, wie beispielsweise den
PDIUSBD12 von Philips.

Alternativ kann man auch einen der ganz neuen AVR-USB-Controller
AT76C712/713 verwenden - oder statt dessen die USB-Controller mit
MCS51-Kern von Cypress (EzUsb).

Du bist Dir im Klaren darüber, daß ein "Mass Storage Device" ein
blockorientiertes Device ist? Das Protokoll zwischen PC und Gerät
überträgt nur Blöcke (Sektoren) fester Größe; welche Bedeutung diese
Blöcke haben, weiß nur der PC, der das darin befindliche Dateisystem
nach Gutdünken verwaltet.

Wenn Dein Controller auf in diesem Dateisystem vorhandene Dateien
zugreifen soll, muss er einerseits das Dateisystem verstehen (was kein
so großes Problem ist, weil es ausreichend
FAT16/FAT32-Implementierungen im Quelltext gibt) und andererseits
sicherstellen, daß der PC das Dateisystem in einem definierten Zustand
überlassen hat. Vor allem darf Dein Controller das Dateisystem auf gar
keinen Fall beschreiben, wenn die ganze Chose mit dem PC verbunden ist,
da der PC nicht mitbekommt, wenn gewissermaßen hinter seinem Rücken im
Dateisystem 'rumgepfuscht wird.

Damit ist die Implementierung eines Mass Storage Devices in den meisten
Fällen eine nette, aber nur sehr eingeschränkt nutzbare Übung.

Um mit einem PC auf Dateieebene Daten austauschen zu können, ist USB
eine ungeeignete Schnittstelle; hier ist ein Netzwerkinterface und ein
FTP-, Web- oder SMB-Server deutlich geeigneter.
Gast #200483
Lesenswert?
• ▲
▼
"Wenn der µC ausreichend "fett" ist, um darauf ein Linux laufen zu
lassen, kann ich mir das gut vorstellen."

Was gibt es daran vorzustellen?
Samba lässt sich für jedes Linux-System kompilieren. Somit kann man SMB
auf jedem MC, für den es ein Linux gibt, implementieren, falls er
genügend Speicher zur Verfügung hat.
Gast #200484
Lesenswert?
• ▲
▼
"Samba lässt sich für jedes Linux-System kompilieren."
Da ich das einfach nicht mit Sicherheit weiß, schrob ich
vorsichtigerweise, daß ich's mir vorstellen könnte.

Kommt denn Samba auch mit den Einschränkungen des ucLinux zurecht
(Linux ohne virtuelle Speicherverwaltung, für Prozessoren ohne MMU)?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.