2016-05-25 12 views
0

Ich muss lesen und schreiben Bytes in ein Massenspeicher USB FLASH-Laufwerk, aber ich möchte kein Dateisystem oder Dateien verwenden. Ich möchte nur ein leeres unformatiertes USB-Flash-Laufwerk haben und dann anfangen, Rohbytes mit libUsb zu schreiben.libusb benutzerdefiniertes Dateisystem

Ich lese, dass Massenspeicher rohe Bytes lesen und schreiben kann und es Ihnen überlassen, Ihr eigenes Dateisystem wie FAT usw. mit rohen Lese-/Schreib-USB-Befehlen zu erstellen.

Allerdings möchte ich kein Dateisystem, ich möchte nur in der Lage sein, es zu befehlen, ein Byte zu schreiben oder ein Byte von bestimmten Stellen auf dem Blitz zu lesen, und möglicherweise auch die Größe des Blitzes.

Weiß jemand, wie man das macht, oder kenne irgendwelche Beispiele, die ich betrachten kann?

Bitte lassen Sie mich wissen, wenn meine Frage nicht klar, oder zu breit oder nicht genug Informationen ist, so kann ich die Frage alle zusammen neu formulieren oder ändern.

Vielen Dank!

Antwort

0

Ihr USB-Stick ist wahrscheinlich ein USB-Massenspeichergerät. Sie sollten durch einen Blick auf den offiziellen Dokumenten beginnen, die die Massenspeicherklasse angeben, die hier zur Verfügung stehen:

http://www.usb.org/developers/docs/devclass_docs/

Diese Dokumente erläutern, welche Art von Deskriptoren ein Massenspeichergerät haben und welche Art von USB Anfragen/Überweisungen akzeptiert. Dann können Sie libusb verwenden, um diese Anfragen/Übertragungen zu implementieren.

+0

Dank David, begann ich mit WinUSB und auch libusb, jetzt kann ich zumindest rohe Lesevorgänge aus dem Massenspeichergerät mit libusb. Aber seit ich WinUSB installiert habe, sieht der Windows-Dateiexporer das USB-Flash-Laufwerk nicht mehr, wenn ich es an den USB-Port des PCs anschließe. So scheint es, wenn WinUSB Treiber installiert ist, funktioniert libusb, aber Windows Massenspeicher nicht, und wenn ich WinUSB deinstalliere, dann funktioniert Windows, aber libUSB nicht. Gibt es eine Möglichkeit, dass ich beide irgendwie arbeiten kann, sowohl libusb Massenspeicher als auch Windows Massenspeicher? – user5199516

+0

Das ist cool, dass Sie es funktioniert haben. Möglicherweise können Sie den libusb-win32-Filtertreiber oder etwas Ähnliches verwenden. Aber warum möchten Sie, dass beide Optionen gleichzeitig funktionieren? Ihre rohen Lese- und Schreibvorgänge werden höchstwahrscheinlich die übergeordneten Windows-Treiber verwechseln, die ein gültiges Dateisystem auf dem USB-Laufwerk erwarten. –

+0

Denn wenn der Benutzer ein normales Flash-Laufwerk einsteckt, kann er es nicht benutzen. Aber zur gleichen Zeit, wenn ich ein Flash-Laufwerk mit meinem benutzerdefinierten Dateisystem anschließen, möchte ich in der Lage sein, auch darauf zuzugreifen, aber es scheint, dass beide nicht zur gleichen Zeit arbeiten können. Warum in der Welt würde jemand libusb benutzen, wenn er mit dem eingebauten Massenspeicher aufgeben muss, können beide nicht gleichzeitig arbeiten? Ich möchte nur Lese-/Schreibzugriff auf mein benutzerdefiniertes Dateisystem haben, wenn das angeschlossen ist, aber wenn ein normales FATxxx angeschlossen ist, dann sollte das auch funktionieren. – user5199516