|
Mass Storage Usb Flash Disk, Файловая система flash памяти (FAT 16) |
|
|
|
Feb 27 2006, 14:35
|

Помогу, чем смогу
     
Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25

|
Уважаемый kernel32ddl! Большое спасибо за подробный ответ, по-больше бы таких постов  Пользуетесь ли Вы каким-нибудь тулкитом или все приходится делать руками? Слышал и частично видел USBIO, что нашлось даже в наших сусеках, но к сожалению не нашел там раздела Firmware, только Drivers. Интересно мнение спецов на счет этой тулсы, знающих толк в этом деле, уже реализовавших на своих машинках Mass Storage USB Disk И еще чайниковский вопрос. У меня машинка на х86, на борту CompactFlash, USB организован через последовательный порт машинки на FTDI FT232BM. Сейчас пользуюсь на РС виртуальным СОМ-портом, в машинке реализован FAT16 и протокол файлового обмена. Чтобы это чудо обслужить на РС, пришлось делать свою прогу под тот реализованный протокол. Хочется услышать от знатоков следующее. Если использовать USB Firmware Library от Thesycon (или его подобие), то какие грабли или непреодолимые препятствия ожидают.
--------------------
|
|
|
|
|
Feb 28 2006, 11:06
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
one_man_show, спасибо за столь лесную похвалу  . Что такое USBIO к сожалению понятия не имею  , лично я делаю своё детище на TMS5509a, в Code Composer Studio от Texas Instrument. Очень помог пример реализации USB устройства на сайте c5000.spectrumdigital.com. Практически 70% всего кода, необходимого для реалиции устройства уже есть в этом примере, оставалось только надстроить его до необходимого класса (добавить нужные команды и т.п.). Вообще разработчики TI сделали хорошую абстракцию от аппаратной части ( CSL библиотека USB), никаких портов программировать не надо, берешь функцию, указаваешь ей буфер с данными, номер конечной точки и вперед - данные передаются! Все очень просто. Для снятия протоколов обмена пользуюсь USB Monitor и SnoopyPro. На последний ваш вопрос, ответить не могу - ничего в этом не смыслю  .
|
|
|
|
|
Feb 28 2006, 13:44
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Забыл добавить еще одну важную ссылку, при описании документации www.rs232.ru. Там есть спецификация на USB по русски.
|
|
|
|
|
Mar 1 2006, 10:22
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
На флэшках, структуру которых мне удалось посмотреть MBR и таблицы нет. Идет сразу раздел со своей загрузочной областью. Объясняется это наверно тем, что в ней просто нет неоходимости - раздел-то на флэшке только один. Наконец-то удалось раздобыть флэшину на 128 мб  , обнаружил много несоответствий. Как только исправлю все, сообщу о результатах.
|
|
|
|
|
Mar 7 2006, 06:10
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 19-04-05
Пользователь №: 4 288

|
Что такое пустые пакеты SEND_ACK и GET_ACK? Просто usb пакеты нулевой длины (ZLP)? Какая стоит win? Для первых экспериментов лучше отключить кеширование. Правильно ли контролируешь отработку этапов CBW-DATAIN-CSW? Даже если предположить что размер данных совпадает с размером bulkin, то это не согласуется с командой RBC_READ_CAPACITY_10=0x25, для которой формат данных READ_CAPACITY_DATA равен 8 байт, а размер CSW 13 байт.
Лучше отлаживать все команды по отдельности, например через usbio. Я делал так: подключал обычную usb флешку и с помощью сниффера записывал все команды, котрые использует винда. А уж потом из программы usbio отправлял бинарные файлы с командами и данными. Тогда сразу видно будет кто виноват.
|
|
|
|
|
Mar 20 2006, 12:58
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 20-02-06
Из: Penza
Пользователь №: 14 526

|
Цитата(jhoo @ Mar 7 2006, 09:10)  Лучше отлаживать все команды по отдельности, например через usbio. уважаемый jhoo не подскажите что это за программа и где ее можно взять?
|
|
|
|
|
Apr 3 2006, 06:32
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 19-04-05
Пользователь №: 4 288

|
Может быть поздно. Но, http://www.thesycon.de/
|
|
|
|
|
Jun 7 2006, 13:44
|

Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 4-05-05
Из: Харьков
Пользователь №: 4 740

|
Цитата(kernel32ddl @ Mar 1 2006, 13:22)  На флэшках, структуру которых мне удалось посмотреть MBR и таблицы нет. Идет сразу раздел со своей загрузочной областью. Объясняется это наверно тем, что в ней просто нет неоходимости - раздел-то на флэшке только один. Наконец-то удалось раздобыть флэшину на 128 мб  , обнаружил много несоответствий. Как только исправлю все, сообщу о результатах. Voobsheto nikto ne zapreshaet sdelat' neskol'ko razdelov, po krayney mere na CF ya delal bez problem.
--------------------
SY AfE
|
|
|
|
|
Feb 16 2017, 16:17
|
Группа: Новичок
Сообщений: 2
Регистрация: 16-02-17
Пользователь №: 95 478

|
Цитата(kernel32ddl @ Feb 28 2006, 12:06)  one_man_show, спасибо за столь лесную похвалу  . Что такое USBIO к сожалению понятия не имею  , лично я делаю своё детище на TMS5509a, в Code Composer Studio от Texas Instrument. Очень помог пример реализации USB устройства на сайте c5000.spectrumdigital.com. Практически 70% всего кода, необходимого для реалиции устройства уже есть в этом примере, оставалось только надстроить его до необходимого класса (добавить нужные команды и т.п.). Вообще разработчики TI сделали хорошую абстракцию от аппаратной части ( CSL библиотека USB), никаких портов программировать не надо, берешь функцию, указаваешь ей буфер с данными, номер конечной точки и вперед - данные передаются! Все очень просто. Для снятия протоколов обмена пользуюсь USB Monitor и SnoopyPro. На последний ваш вопрос, ответить не могу - ничего в этом не смыслю  . Еще парочку USB аналайзеров (Виндовые, хотя и USBmon тоже виндовый, использовал его ранее, хорошая прога, но лично мне понравились эти благодаря удобному интерфейсу) - USB Data Logger (http://www.eltima.com/products/usb-data-logger/) и USB Port Sniffer (http://www.eltima.com/products/usb-port-monitor/)
|
|
|
|
|
Mar 10 2017, 19:50
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(kernel32ddl @ Feb 22 2006, 13:19)  С набором команд как раз-таки все впорядки данные передаются и принимаются без ошибок. Ответы на команды тоже коррекные, формируются согласно спецификации SCSI. Логическую адресацию устройство поддерживает, вопрос в том почему ни одна программа не хочет ее форматировать.. ФАТ тут ни при чем, как уже объяснили, устройство должно только отвечать на команды, выдавать данные по емкости, кол-ву секторов и работать с блоками непосредственно данных, и ей должно быть без разницы, какой кто сектор запрашивает, запрашивает 64й, значит системе виднее, зачем ей это, флешка должна просто предоставить данные из этого сектора. Если не идет форматирование, значит какая-то служебная инфа не получена.
Сообщение отредактировал mantech - Mar 10 2017, 19:52
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|