реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> USB устройство со встроенной файловой системой
Мусатов Констант...
сообщение May 4 2010, 11:55
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



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


Гуру
******

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



Цитата(Мусатов Константин @ May 4 2010, 14:55) *
что я видел спецификацию USB устройства со встроенной файловой системой.

Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 13:03
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
Вообще не представляю, нафига такое может быть использовано.

Девайс достаточно сложен внутри и имеет на флеш диске файловую систему не поддерживаемую Windows. Можно, конечно, и сэмулировать FAT отформатированное пространство для Windows, но решение несколько кривое. Как вариант оно рассматривается, но с низким приоритетом. Хотелось бы по-человечески, файловое обращение. Если бы это было сетевое устройство, а не USB, то я бы просто повесил ftp сервер.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 4 2010, 13:35
Сообщение #4


Ally
******

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



Цитата(zltigo @ May 4 2010, 15:36) *
Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков.


Самое смешное, это какой прикладной протокол для этого предполагается использовать.
Уж не AT ли команды? biggrin.gif
SCSI как понимаю засложный будет, да и мапирование верхнего уровня для конкретной реализации файловой системы потребуется неслабое поверх SCSI.
Но и для AT команд описание такого мапирования займет приличную книгу.
Характерный пример это чипы Vinculum.
Там описание дурного ASCII протокола для обмена с USB дисками чуть ли не больше по объему чем описание SCSI команд хоста для USB флешей.
Т.е. интегрировать Vinculum для специалиста будет более накладно чем интегрировать софт USB хоста.
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 13:57
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
Самое смешное, это какой прикладной протокол для этого предполагается использовать.
Уж не AT ли команды?

Как-то было реализовано. Но тогда мне это было не надо и я не вникал. А сейчас...
Реализовано было не сложно, девайс был достаточно простой. Суть была в том, что подключенное к компу устройство было видно как диск. При этом в самом устройстве никаких дисков не было. На этом сэмулированном диске были файл конфигурации, который можно было отредактировать из текстового редактора и таким образом настроить устройство и файлы логов событий, они были вроде как только для чтения. Сама идея такого простого администрирования устройства мне тогда и запала в душу.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 4 2010, 14:05
Сообщение #6


Гуру
******

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



Цитата(Мусатов Константин @ May 4 2010, 16:57) *
Суть была в том, что подключенное к компу устройство было видно как диск.

Свежайшая и оригинальнейшая идея smile.gif
Цитата
При этом в самом устройстве никаких дисков не было

Были, были. Разве только не физические. Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством. Или, все, как обычно обращается к драйверу FAT и далее.
Цитата
На этом сэмулированном диске были файл конфигурации, который можно....

Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье:
Цитата
Сама идея такого простого администрирования устройства мне тогда и запала в душу.

Хотя какой фат тут даже, если файл один.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
galjoen
сообщение May 4 2010, 14:25
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Мусатов Константин @ May 4 2010, 17:57) *
Суть была в том, что подключенное к компу устройство было видно как диск.

Делаю что-то подобное, но на этом диске приходится держать exe-шник, ибо по другому не получается победить кэширование в винде.
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 14:32
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством.

Вот неведомых там не было, ничего дополнительного в винды не ставилось.
Цитата
Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье:

Не понял, поподробнее. С флэш дисками фатом заведует Винда, а флеш диск, сколько я знаю, представляет из себя плоскую область памяти. Вы имеете в виду поднять в моем устройстве анти FAT? Т.е. эмуляцию FAT отформатированного пространства. В моем устройстве, в отличе от того, что я видел, будет много папок, часть из них виртуальные, а доступ к разным файлам будет зависеть от состояния устройства. Тут бы конечно а-ля сетевой доступ было бы проще реализовать, ну или, по крайней мере, прозрачнее, но Ethernet в нем нет и IP так же. А если эмулировать пространство, то мне заранее неизвестно в какой сектор захочет винда положить измененный или новый файл, она просто начнет писать, а потом модифицировать область DIR и FAT. Получается, что однозначное решение только на чтение.

Сообщение отредактировал Мусатов Константин - May 4 2010, 14:33
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 4 2010, 14:33
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Мусатов Константин @ May 4 2010, 15:55) *
Вопрос из разряда поиска информации.

Информация: USB.Mass.Storage
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 14:38
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
Делаю что-то подобное, но на этом диске приходится держать exe-шник, ибо по другому не получается победить кэширование в винде.

А как Вы реализуете, эмуляция FAT отформатированного пространства или по-другому?

Цитата
Информация: USB.Mass.Storage

Спасибо! Похоже тут ответы на все вопросы!
Go to the top of the page
 
+Quote Post
galjoen
сообщение May 4 2010, 16:12
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Мусатов Константин @ May 4 2010, 18:38) *
А как Вы реализуете, эмуляция FAT отформатированного пространства или по-другому?

Я ничего не эмулирую. Форматирует винда. Я только туда логи в виде файлов пишу. Для винды они read only. Вот винда эти файлы и кэширует, ну не понимает она, что там может что-то без неё изменится. И стандартными программами перечитать не получится...
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 16:27
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
Я ничего не эмулирую. Форматирует винда.

Т.е. у Вас плоское адресное пространство, отформатированное виндой под FAT. Вы сами так же к нему обращаетесь через встроенный драйвер FAT и пишете туда логи. Я правильно понял?
Если так, то мне это не подходит, поскольку встроенная MicroDS карточка в нашем проекте отформатирована не под FAT, а под отказоустойчивую файловую систему, которую Win не понимает и я не могу отрыть плоский доступ к ней. А проблемы кеширования у меня наоборот нет, во время обслуживания, основной работы контроллером не ведется.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 4 2010, 17:13
Сообщение #13


Ally
******

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



Цитата(Мусатов Константин @ May 4 2010, 19:27) *
Если так, то мне это не подходит, поскольку встроенная MicroDS карточка в нашем проекте отформатирована не под FAT, а под отказоустойчивую файловую систему,


ExtFAT и есть самая что ни на есть отказоустойчивая файловая система. biggrin.gif

Как выход делать Mass Storage c FAT на RAM. А уж от туда перекачивать на вашу проприетарную систему.
Можно эмулировать FAT и в файле на физической другой файловой системе.
Но почему вам трудно сделать FTP через тот же RNDIS?
Или вам ключи от сорсов еще дать? laughing.gif
Go to the top of the page
 
+Quote Post
Мусатов Констант...
сообщение May 4 2010, 17:35
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Цитата
ExtFAT и есть самая что ни на есть отказоустойчивая файловая система

Как я понял, не совсем, хотя с элементами танзакционности. smile.gif
К тому же ее надо лицензировать у Мелкомягких, она не свободная, а девайс коммерческий.
Цитата
Как выход делать Mass Storage c FAT на RAM. А уж от туда перекачивать на вашу проприетарную систему.

Опасаюсь, что РАМ-а не хватит, там итак плотненько.
Цитата
Но почему вам трудно сделать FTP через тот же RNDIS?

Придется ставить еще и IP. Но это вариант.
Цитата
Или вам ключи от сорсов еще дать?

А покажите того, кто откажется smile.gif)))
Go to the top of the page
 
+Quote Post
Alex11
сообщение May 4 2010, 17:43
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Несколько запоздало, но была еще MTP спецификация. Микрософт ее поддерживает. Может быть, не очень удобно для передачи логов, но зато это объектно-ориентированная передача, файлы передаются как единое целое и не требуют Fat'а на устройстве.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016