MVV wrote:dsp, ты не разбирался с составными HID дескрипторами
В описании устройства есть конфигурационный дескриптор, в котором прописано количество интерфейсов. Потом идет дескриптор интерфейса. В каждом дескрипторе интерфейса есть описание количества конечных точек. Потом идет описание конечной точки – ее адрес и макс количество байт которое может она принять в пакете.
Собственно когда надо записать некую информацию в устройство на физическом уровне или считать из устройства, надо знать адрес устройства который присваивается в момент подключения его к хосту и номер конечной точки (конечно надо еще знать сколько сколько байт туда можно послать – размер пакета конечной точки ). Для пользователя важно не само физическое устройство а некое логическое, типа мышка или клавиатура. Поэтому нам надо знать именно номер интерфейса мышки или клавиатуры. Конечно, может быть в одной физической клавиатуре или мышке два логических устройства – две мышки или клавиатуры. Скажем для загрузки компьютера нам надо использовать простую мышку (boot device), чтобы долго не разбираться с какие битики или байтики за что отвечают а использовать уже стандартное описание для boot device.
Составные устройства (типа в одном физическом несколько логических) особо не сильно отличаются от простых. Тут как бы я засады не вижу. Тем более есть пример готовый для VNC2: USBDescriptors.vproj – он все дескрипторы считывает из устройства.
Для создания под ZET я использовал 2GB SD (не HC), SDHC работать не будут ( я так думаю по крайней мере). Отформатировать в FAT16 (в конечном итоге это будет FAT16). Потом с помощью утилиты по копированию изображения (я пристегнул) перенести изображение на SD. Разделы эта утилита переносит тоже. после копирования будет один раздел на 50G (вроде). Потом при желании с помощью какй нить утилиты (я использовал Acronis) добавить разделы. Для проверки мышки надо потом добавить еше директорию на диск С [Mouse] c драйвером и обновить AUTOEXEC.BUT. Я все что было на моем диске в корневой директории и папку [Mouse] пристегнул - SDcard(mouse).rar
Все файлы что в коревой директории копировать не надо. Файл что и как я делал я пристегнул ReadMeSD.rar Все это работает стабильно. Я делал так неоднократно, так что это не случайный результат. Просто копировать на SD нельзя надо именно использовать утилиту по копированию изображения.
На счет J1 и всего остального – положительно смотрю, а там может кому и пригодится.
После того как конвертор сделаю, займусь USB sound и считыванием и записью на USB носитель информации. Как то на ARM запускал примеры USB sound card и USB Flash memory, так что представление как работает со стороны Slave есть. Co стороны HOST есть VNC2, для отладки свяжу ARM (USB audio) c VNC2 (USB Host). С VNC2 в первом приближении разобрался. Слишком сложные структуры не переваривает и двухмерные массивы не показывает при работе дебагера. (как и структуры тоже) поэтому использую симулятор от VS6, так как размерность данных совпадает. Да и для написания программ редактор от visual studio лучше. Положительный момент VNC2 – готовая операционная система и работа с драйвером напоминает все тоже в виндоус.