2016-05-25 5 views
0

Мне нужно читать и писать байты на накопитель USB FLASH большого объема, но я не хочу использовать какую-либо файловую систему или файлы. Я просто хочу иметь пустой неформатированный USB-флеш-накопитель, а затем начинаю писать с ним необработанные байты с помощью libUsb.Конфигурационная файловая система libusb

Я прочитал, что массовое хранилище может читать и записывать необработанные байты и его до вас для создания вашей собственной файловой системы, такой как FAT и т. Д., Используя необработанные команды чтения/записи USB.

Однако я не хочу никакой файловой системы, я просто хочу, чтобы она могла писать ей байт или читать байт из определенных мест на вспышке и, возможно, также получить размер флеш-памяти.

Кто-нибудь знает, как это сделать, или знаете какие-либо примеры, на которые я могу смотреть?

Пожалуйста, дайте мне знать, если мой вопрос не ясен или слишком широк или недостаточно информации, поэтому я могу перефразировать или изменить вопрос все вместе.

Большое спасибо!

ответ

0

Ваш USB-накопитель, вероятно, является запоминающим устройством USB. Вы должны начать, глядя на официальные документы, которые определяют класс Mass Storage, которые доступны здесь:

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

Эти документы объясняют, какие дескрипторы массовое запоминающее устройство будет иметь и какие USB запросы/переводы, которые он принимает. Затем вы можете использовать libusb для реализации этих запросов/передач.

+0

Спасибо Дэвиду, я начал использовать WinUSB, а также libusb, теперь я могу хотя бы сделать необработанные чтения с массового устройства хранения с помощью libusb. Но с тех пор, как я установил WinUSB, файловый ускоритель Windows больше не видит флэш-накопитель usb, когда я подключаю его к порту USB на ПК. Так что, если WinUSB-драйвер установлен, libusb будет работать, но в Windows массовое хранилище не будет, и если я удалю WinUSB, то окна будут работать, но libUSB не делает. Есть ли способ, которым я могу как-то работать, как массовое хранилище libusb, так и объемное хранилище Windows? – user5199516

+0

Это круто, что вы его работали. Возможно, вы сможете использовать драйвер фильтра libusb-win32 или что-то в этом роде. Но почему вы хотите, чтобы оба варианта работали одновременно? Ваши сырые чтения и записи, скорее всего, путают драйверы более высокого уровня Windows, которые ожидают увидеть действительную файловую систему на USB-накопителе. –

+0

Потому что, если пользователь подключается к обычным флеш-накопителям, они не смогут его использовать. Но в то же время, если я подключаю флеш-накопитель к моей пользовательской файловой системе, я тоже хочу иметь к нему доступ, но, похоже, оба они работают одновременно. Почему в мире кто-нибудь будет использовать libusb, если им придется отказаться от использования встроенного массового хранилища, возможно, оба работают одновременно? Я просто хочу иметь доступ на чтение/запись низкого уровня к моей пользовательской файловой системе, если они подключены, но если обычный FATxxx подключен, то это тоже должно работать. – user5199516

Смежные вопросы