|
USB устройство со встроенной файловой системой |
|
|
|
May 4 2010, 11:55
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Вопрос из разряда поиска информации. Года два назад, мне казалось, что я видел спецификацию USB устройства со встроенной файловой системой. Обычные флешки предлагают себя как область памяти сегментированную или нет, но файловая система обеспечивается внешней ОС, например Windows. А тут вопрос о том, что внутри устройства уже есть файловая система. Может то, что я видел раньше, это не то что мне надо. Потому вопрос: Существует ли некая спецификация устройств USB так, что бы компьютер обращался именно пофайлово? Это еще интересно тем, что можно поднять некие системные ресурсы в виде виртуальных папок. Возможно, как вариант, технология Push (ActiveSync) от Microsoft. С ней не сталкивались? Она вроде требует лицензирования.
|
|
|
|
|
May 4 2010, 12:36
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Мусатов Константин @ May 4 2010, 14:55)  что я видел спецификацию USB устройства со встроенной файловой системой. Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 4 2010, 13:03
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата Вообще не представляю, нафига такое может быть использовано. Девайс достаточно сложен внутри и имеет на флеш диске файловую систему не поддерживаемую Windows. Можно, конечно, и сэмулировать FAT отформатированное пространство для Windows, но решение несколько кривое. Как вариант оно рассматривается, но с низким приоритетом. Хотелось бы по-человечески, файловое обращение. Если бы это было сетевое устройство, а не USB, то я бы просто повесил ftp сервер.
|
|
|
|
|
May 4 2010, 13:35
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ May 4 2010, 15:36)  Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков. Самое смешное, это какой прикладной протокол для этого предполагается использовать. Уж не AT ли команды? SCSI как понимаю засложный будет, да и мапирование верхнего уровня для конкретной реализации файловой системы потребуется неслабое поверх SCSI. Но и для AT команд описание такого мапирования займет приличную книгу. Характерный пример это чипы Vinculum. Там описание дурного ASCII протокола для обмена с USB дисками чуть ли не больше по объему чем описание SCSI команд хоста для USB флешей. Т.е. интегрировать Vinculum для специалиста будет более накладно чем интегрировать софт USB хоста.
|
|
|
|
|
May 4 2010, 13:57
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата Самое смешное, это какой прикладной протокол для этого предполагается использовать. Уж не AT ли команды? Как-то было реализовано. Но тогда мне это было не надо и я не вникал. А сейчас... Реализовано было не сложно, девайс был достаточно простой. Суть была в том, что подключенное к компу устройство было видно как диск. При этом в самом устройстве никаких дисков не было. На этом сэмулированном диске были файл конфигурации, который можно было отредактировать из текстового редактора и таким образом настроить устройство и файлы логов событий, они были вроде как только для чтения. Сама идея такого простого администрирования устройства мне тогда и запала в душу.
|
|
|
|
|
May 4 2010, 14:05
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Мусатов Константин @ May 4 2010, 16:57)  Суть была в том, что подключенное к компу устройство было видно как диск. Свежайшая и оригинальнейшая идея  Цитата При этом в самом устройстве никаких дисков не было Были, были. Разве только не физические. Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством. Или, все, как обычно обращается к драйверу FAT и далее. Цитата На этом сэмулированном диске были файл конфигурации, который можно.... Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье: Цитата Сама идея такого простого администрирования устройства мне тогда и запала в душу. Хотя какой фат тут даже, если файл один.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 4 2010, 14:32
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством. Вот неведомых там не было, ничего дополнительного в винды не ставилось. Цитата Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье: Не понял, поподробнее. С флэш дисками фатом заведует Винда, а флеш диск, сколько я знаю, представляет из себя плоскую область памяти. Вы имеете в виду поднять в моем устройстве анти FAT? Т.е. эмуляцию FAT отформатированного пространства. В моем устройстве, в отличе от того, что я видел, будет много папок, часть из них виртуальные, а доступ к разным файлам будет зависеть от состояния устройства. Тут бы конечно а-ля сетевой доступ было бы проще реализовать, ну или, по крайней мере, прозрачнее, но Ethernet в нем нет и IP так же. А если эмулировать пространство, то мне заранее неизвестно в какой сектор захочет винда положить измененный или новый файл, она просто начнет писать, а потом модифицировать область DIR и FAT. Получается, что однозначное решение только на чтение.
Сообщение отредактировал Мусатов Константин - May 4 2010, 14:33
|
|
|
|
|
May 4 2010, 14:38
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата Делаю что-то подобное, но на этом диске приходится держать exe-шник, ибо по другому не получается победить кэширование в винде. А как Вы реализуете, эмуляция FAT отформатированного пространства или по-другому? Цитата Информация: USB.Mass.Storage Спасибо! Похоже тут ответы на все вопросы!
|
|
|
|
|
May 4 2010, 16:27
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата Я ничего не эмулирую. Форматирует винда. Т.е. у Вас плоское адресное пространство, отформатированное виндой под FAT. Вы сами так же к нему обращаетесь через встроенный драйвер FAT и пишете туда логи. Я правильно понял? Если так, то мне это не подходит, поскольку встроенная MicroDS карточка в нашем проекте отформатирована не под FAT, а под отказоустойчивую файловую систему, которую Win не понимает и я не могу отрыть плоский доступ к ней. А проблемы кеширования у меня наоборот нет, во время обслуживания, основной работы контроллером не ведется.
|
|
|
|
|
May 4 2010, 17:35
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
Цитата ExtFAT и есть самая что ни на есть отказоустойчивая файловая система Как я понял, не совсем, хотя с элементами танзакционности.  К тому же ее надо лицензировать у Мелкомягких, она не свободная, а девайс коммерческий. Цитата Как выход делать Mass Storage c FAT на RAM. А уж от туда перекачивать на вашу проприетарную систему. Опасаюсь, что РАМ-а не хватит, там итак плотненько. Цитата Но почему вам трудно сделать FTP через тот же RNDIS? Придется ставить еще и IP. Но это вариант. Цитата Или вам ключи от сорсов еще дать? А покажите того, кто откажется  )))
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|