kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Вопрос из разряда поиска информации. Года два назад, мне казалось, что я видел спецификацию USB устройства со встроенной файловой системой. Обычные флешки предлагают себя как область памяти сегментированную или нет, но файловая система обеспечивается внешней ОС, например Windows. А тут вопрос о том, что внутри устройства уже есть файловая система. Может то, что я видел раньше, это не то что мне надо. Потому вопрос: Существует ли некая спецификация устройств USB так, что бы компьютер обращался именно пофайлово? Это еще интересно тем, что можно поднять некие системные ресурсы в виде виртуальных папок. Возможно, как вариант, технология Push (ActiveSync) от Microsoft. С ней не сталкивались? Она вроде требует лицензирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба что я видел спецификацию USB устройства со встроенной файловой системой. Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Вообще не представляю, нафига такое может быть использовано. Девайс достаточно сложен внутри и имеет на флеш диске файловую систему не поддерживаемую Windows. Можно, конечно, и сэмулировать FAT отформатированное пространство для Windows, но решение несколько кривое. Как вариант оно рассматривается, но с низким приоритетом. Хотелось бы по-человечески, файловое обращение. Если бы это было сетевое устройство, а не USB, то я бы просто повесил ftp сервер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Вообще не представляю, нафига такое может быть использовано. И вообще, простые FAT совсем просто пишутся где угодно, а сложные слишком интимны, а производительные столько ресурсов жрут, что не для брелков. Самое смешное, это какой прикладной протокол для этого предполагается использовать. Уж не AT ли команды? SCSI как понимаю засложный будет, да и мапирование верхнего уровня для конкретной реализации файловой системы потребуется неслабое поверх SCSI. Но и для AT команд описание такого мапирования займет приличную книгу. Характерный пример это чипы Vinculum. Там описание дурного ASCII протокола для обмена с USB дисками чуть ли не больше по объему чем описание SCSI команд хоста для USB флешей. Т.е. интегрировать Vinculum для специалиста будет более накладно чем интегрировать софт USB хоста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Самое смешное, это какой прикладной протокол для этого предполагается использовать. Уж не AT ли команды? Как-то было реализовано. Но тогда мне это было не надо и я не вникал. А сейчас... Реализовано было не сложно, девайс был достаточно простой. Суть была в том, что подключенное к компу устройство было видно как диск. При этом в самом устройстве никаких дисков не было. На этом сэмулированном диске были файл конфигурации, который можно было отредактировать из текстового редактора и таким образом настроить устройство и файлы логов событий, они были вроде как только для чтения. Сама идея такого простого администрирования устройства мне тогда и запала в душу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Суть была в том, что подключенное к компу устройство было видно как диск. Свежайшая и оригинальнейшая идея :) При этом в самом устройстве никаких дисков не было Были, были. Разве только не физические. Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством. Или, все, как обычно обращается к драйверу FAT и далее. На этом сэмулированном диске были файл конфигурации, который можно.... Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье: Сама идея такого простого администрирования устройства мне тогда и запала в душу. Хотя какой фат тут даже, если файл один. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
galjoen 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Суть была в том, что подключенное к компу устройство было видно как диск. Делаю что-то подобное, но на этом диске приходится держать exe-шник, ибо по другому не получается победить кэширование в винде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 (изменено) · Жалоба Какая разница, транслируется open() в некий неведомый запрос неведомому драйверу общающемуся по неведомому протоколу с неведомым устройством. Вот неведомых там не было, ничего дополнительного в винды не ставилось. Отлично! Поднимаете примитивнейший FAT, причем совершенно не изобретая ни сущностей, ни велосипедов и вот оно счастье: Не понял, поподробнее. С флэш дисками фатом заведует Винда, а флеш диск, сколько я знаю, представляет из себя плоскую область памяти. Вы имеете в виду поднять в моем устройстве анти FAT? Т.е. эмуляцию FAT отформатированного пространства. В моем устройстве, в отличе от того, что я видел, будет много папок, часть из них виртуальные, а доступ к разным файлам будет зависеть от состояния устройства. Тут бы конечно а-ля сетевой доступ было бы проще реализовать, ну или, по крайней мере, прозрачнее, но Ethernet в нем нет и IP так же. А если эмулировать пространство, то мне заранее неизвестно в какой сектор захочет винда положить измененный или новый файл, она просто начнет писать, а потом модифицировать область DIR и FAT. Получается, что однозначное решение только на чтение. Изменено 4 мая, 2010 пользователем Мусатов Константин Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 25 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Вопрос из разряда поиска информации. Информация: USB.Mass.Storage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Делаю что-то подобное, но на этом диске приходится держать exe-шник, ибо по другому не получается победить кэширование в винде. А как Вы реализуете, эмуляция FAT отформатированного пространства или по-другому? Информация: USB.Mass.Storage Спасибо! Похоже тут ответы на все вопросы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
galjoen 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба А как Вы реализуете, эмуляция FAT отформатированного пространства или по-другому? Я ничего не эмулирую. Форматирует винда. Я только туда логи в виде файлов пишу. Для винды они read only. Вот винда эти файлы и кэширует, ну не понимает она, что там может что-то без неё изменится. И стандартными программами перечитать не получится... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Я ничего не эмулирую. Форматирует винда. Т.е. у Вас плоское адресное пространство, отформатированное виндой под FAT. Вы сами так же к нему обращаетесь через встроенный драйвер FAT и пишете туда логи. Я правильно понял? Если так, то мне это не подходит, поскольку встроенная MicroDS карточка в нашем проекте отформатирована не под FAT, а под отказоустойчивую файловую систему, которую Win не понимает и я не могу отрыть плоский доступ к ней. А проблемы кеширования у меня наоборот нет, во время обслуживания, основной работы контроллером не ведется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Если так, то мне это не подходит, поскольку встроенная MicroDS карточка в нашем проекте отформатирована не под FAT, а под отказоустойчивую файловую систему, ExtFAT и есть самая что ни на есть отказоустойчивая файловая система. Как выход делать Mass Storage c FAT на RAM. А уж от туда перекачивать на вашу проприетарную систему. Можно эмулировать FAT и в файле на физической другой файловой системе. Но почему вам трудно сделать FTP через тот же RNDIS? Или вам ключи от сорсов еще дать? :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kostya-m 0 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба ExtFAT и есть самая что ни на есть отказоустойчивая файловая система Как я понял, не совсем, хотя с элементами танзакционности. :) К тому же ее надо лицензировать у Мелкомягких, она не свободная, а девайс коммерческий. Как выход делать Mass Storage c FAT на RAM. А уж от туда перекачивать на вашу проприетарную систему. Опасаюсь, что РАМ-а не хватит, там итак плотненько. Но почему вам трудно сделать FTP через тот же RNDIS? Придется ставить еще и IP. Но это вариант. Или вам ключи от сорсов еще дать? А покажите того, кто откажется :)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 4 мая, 2010 Опубликовано 4 мая, 2010 · Жалоба Несколько запоздало, но была еще MTP спецификация. Микрософт ее поддерживает. Может быть, не очень удобно для передачи логов, но зато это объектно-ориентированная передача, файлы передаются как единое целое и не требуют Fat'а на устройстве. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться