www.mikrocontroller.net

Forum: PC-Programmierung USB+AVR als Datenträger unter XP


Autor: Alexander Ernst (Gast)
Datum:

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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich meine mal gelesen zu haben, dass man mit den ftdi chips kein mass
storage device (den begriff wirst du brauchen) aufbauen kannst. dafür
gibts aber chips von anderen herstellern

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Netbandit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eigendlich schon SMB Server welche mit µC's aufgebaut wurden?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der µC ausreichend "fett" ist, um darauf ein Linux laufen zu
lassen, kann ich mir das gut vorstellen.

Autor: Dirk (Gast)
Datum:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

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.