Как передать файл на устройство USB

S

s1rUK

Guest
Привет, я работаю над приложением, которое позволяет себе перенести файл, расположенный в моей файловой системы в USB-устройства (FAT32). Я должен использовать Массовая передача только для режима это означает, что использовать поток символы. Я посмотрел через LibUsb библиотеку, используя его в своей IDE я могу передать строку. Чтобы передать весь файл, я полагаю, у меня увернуться от файловой системы построения последовательности символов, которая позволяет распознавать файла в файловой системе и поместить его в USB-устройства. Предложения? Эта работа под Linux W 2.6.32 версии ядра
 
В случае FAT32. Вы указываете LBA и запись всех данных, а затем вы пишете FAT32 таблице местах, которые соответствуют определенному файлу. Какой из этих шагов ты хочешь Dodge? Каково ваше приложение конца?
 
Я хочу попробовать увернуться от использования системного вызова скопировать файл из моей файловой системы на внешнее устройство USB. Я использовал тест библиотеки под названием LibUsb это сделать. К сожалению, usb_bulk_write () команды послать последовательность символов, безропотно в массовых передавать только режим, который требуется для передачи данных с помощью потоков 0 и 1. Следует usb_bulk_write () определение http://libusb.sourceforge.net/doc/function.usbbulkwrite.html Я смотрю, как я должны построить правильную последовательность для отправки с помощью этого метода. Моя сфера является обход системных вызовов и переместить файл в устройство USB. Это просто задача, чтобы понять передачи BTO с накопителя USB. Ваше здоровье
 
Я не думаю, что "символ * байт" параметр в usb_bulk_write функция не означает, что вы должны отправить ASCII данных. символ является основным типом данных, что эквивалентно BYTE в С. Можно с уверенностью передачи двоичных данных нет.
 
Во-вторых, у меня есть для того, чтобы USB-устройство распознается как передача файлов. Похоже, если я должен построить прошивки: |
 
Используете ли Вы с полки продукт или вы разрабатываете новый продукт? Если это с полки продукт, вы должны знать, как он ожидает данные. С другой стороны, если вы разрабатываете один, это зависит от вас, как вы хотите передавать данные.
 
Если вы используете полки продукт, вам придется разобрать дескриптор, чтобы понять, какой протокол следует ... так как вы говорите массовой передачи только я считаю, что вы говорите о протоколом BOT MSC .... В этом случае устройство будет ожидать, что драйвер хост-BOT следовать спецификации означает, что вы должны использовать пакеты с подписью "USBC" и прочее массового хранения запросов, т.е. вы будете писать из всей драйвера на стороне хоста .. . Вот липкая часть ... Если вы хотите, чтобы ваши данные должны быть видимы только вам, вы всегда можете создать свой собственный протокол ... не большая проблема, но если вы хотите, чтобы быть читаемыми, скажем, PC, что вы подключите его к .... Вы собираетесь должны понимать формат файловой системы, используемый в дисковод и написать драйвер, который может справиться с этим, а также ... какие из них вы собираетесь делать ....
 
Я не слышал, причина, почему вы не хотите смонтировать USB устройство как съемный диск и использовать стандартный файл Linux I / O.
 
Обычно, если вы хотите отправить данные из файла на ваше устройство, вы можете просто прочитать файл, как вы могли бы сделать нормально, либо в текстовом режиме или в двоичном режиме (если Вам нужен только данные) и отправить полученный байт через LibUSB . Как было сказано ранее, LibUSB позволяет песку все на своем неподписанные символ параметра *, он просто говорит, что будет посылать данные байт за байтом (отсюда и размер параметра в байтах) Я на самом деле делает загрузчик с LibUSB, и она отлично работает ! Что LibUSB не будет делать, будет иметь устройство признано в качестве стандартного устройства хранения данных. Для того, чтобы иметь стандартный запоминающего устройства, необходимо определить устройство как MSD устройство и приложите его к хост драйвер, соответствующий MSD. Что-то знать, является то, что операционная система может обрабатывать MSD сама по себе. Все, что вам нужно сделать, это правильно определить MSD дескрипторов USB, и обрабатывать записи / считывания запросы должным образом. Памяти, физически, быть хранения данных на устройстве XXX байт. Хозяин, при форматировании устройства (можно сделать из стандартного пользовательского интерфейса операционной системы (например, в окна правой кнопкой мыши / формат), будет выделять память для индексного файла файловой системы (особенно, если он не обнаружит любой файловой системы) Это должно работать . Cheers! Павла
 

Welcome to EDABoard.com

Sponsor

Back
Top