jhoo 0 20 января, 2006 Опубликовано 20 января, 2006 · Жалоба Использую исходники atmel mass storage, прибор представляется как дисковый накопитель. Нужно иметь возможность считывать и записывать в прибор специфическую информацию (например установка даты/времени). Поскольку весь обмен идет через команды scsi, то можно ли для моей задачи применить зарезервированные номера команд? Или это надо делать через WRITE BUFFER(3Bh) и READ BUFFER(3Ch) и через них использовать свой протокол обмена? Какие способы отправки scsi команд в устройство можно использовать вообще? Кто-то работал через интерфейс aspi, или же не стоит с ним связываться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleks17 0 20 января, 2006 Опубликовано 20 января, 2006 · Жалоба Я например поступаю проще - анализирую в программе (на МК) содержимое файла "config.txt" в корне этого диска. Сответственно комп работает как с обычным диском и всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex2172 0 20 января, 2006 Опубликовано 20 января, 2006 · Жалоба Вы можете также посмотреть исходники примера для LPC214x (ARM7), в кот. в RAM создается виртуальный диск с файлом и устройство представляет собой USB Mass Storage Device. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jhoo 0 20 января, 2006 Опубликовано 20 января, 2006 · Жалоба Aleks17 Я например поступаю проще - анализирую в программе (на МК) содержимое файла "config.txt" в корне этого диска. Сответственно комп работает как с обычным диском и всё. Такой способ рассматривался и он плохо подходит для установки времени по ряду причин. Alex2172 Вы можете также посмотреть исходники примера для LPC214x (ARM7), в кот. в RAM создается виртуальный диск с файлом и устройство представляет собой USB Mass Storage Device К сожалению у меня нет этого исходники. А в чем там суть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abo 0 24 января, 2006 Опубликовано 24 января, 2006 · Жалоба Я бы предложил добавить необходимое количество запросов пользователя к устройству(vendor requwest). Все равно Вы будете специфичные деиствия типа установки, считывания времени производить специальной софтиной, не так ли? Ведь стандартных вызовов в профиле MassStorage не предусмотрено, насколько я знаю. Но правда придется применять свой собствнный драйвер. Другой вариант - передавать эту информацию через строковые дескрипторы. Ими можно обмениваться через IOCTL запросы к хабу, к которому подключено устройство. У меня есть пример программы, которая проводит опрос шины и вычитывает все стандартные дескрипторы. При этом она работает только через стандартное виндовое API и, естественно ничего не знает о тех устройствах и их драйверах, которые сейчас висят на шине. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jhoo 0 24 января, 2006 Опубликовано 24 января, 2006 · Жалоба Другой вариант - передавать эту информацию через строковые дескрипторы. Ими можно обмениваться через IOCTL запросы к хабу, к которому подключено устройство. У меня есть пример программы, которая проводит опрос шины и вычитывает все стандартные дескрипторы. При этом она работает только через стандартное виндовое API и, естественно ничего не знает о тех устройствах и их драйверах, которые сейчас висят на шине Вот именно к этому варианту я больше и склоняюсь. От примера не отказался бы. Сканирование устройств можно делать через функции SetupDiXXX по известному GUID устройства (его я знаю), их можно открывать функциями CreateFile(), значит можно использовать DeviceIoControl() и запихивать в буфер scsi-запрос. Вопрос: какой IOCTL code нужно указывать? В исходнике программы diskid32.exe diskid32 при сканировании шины использовался код IOCTL_SCSI_MINIPORT. Может ч/з него? Пока проверить не могу. И вообще будет ли работать такая схема если кто-то уже делал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleks17 0 24 января, 2006 Опубликовано 24 января, 2006 · Жалоба Такой способ рассматривался и он плохо подходит для установки времени по ряду причин. Сдается мне, точное время через USB синхронизовать будет достаточно сложно (вопрос конечно в точности установки). У меня GPS приемник для этой цели висит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abo 0 25 января, 2006 Опубликовано 25 января, 2006 · Жалоба Примерчик на Делфе. Только приаттачить к этому сообщению у меня не получилось из-за отсутствия прав. Сообщи куда положить. Но он только вычитывает дескрипторы. Если покопаться в MSDN то наверное можно и записывать их. Если сможешь, научи и меня ;). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jhoo 0 25 января, 2006 Опубликовано 25 января, 2006 · Жалоба Abo Вышли пожалуйста сюда [email protected] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abo 0 3 февраля, 2006 Опубликовано 3 февраля, 2006 · Жалоба Отправлено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться