Перейти к содержимому


Фото

Драйвер USB-устройства для КПК (Windows Mobile 5)


  • Чтобы отвечать, сперва войдите на форум
15 ответов в теме

#1 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 20.02.2007 - 21:03

Нужно написать драйвер для подключения железки к КПК. Железка сделана на микроконтроллере Atmel AT91SAM7S256.

Atmel поставляет готовый драйвер для ПК в виде двух файлов:

atm6124.sys

atm6124.inf

Можно ли как-то использовать эти файлы чтобы подключить устройство к КПК, или нужны их исходники, которые нужно пересобрать?



#2 Stas Pavlov

Stas Pavlov

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 4 093 Сообщений:
  • МестоположениеМосква

Опубликовано 20.02.2007 - 21:07

Использовать нельзя.

Вряд ли прямая пересборка исходных текстов будет возможна.



#3 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 20.02.2007 - 21:13

Что мне нужно знать чтобы сделать драйвер, который позволит открывать устройство хотя бы как виртуальный COM-port?

и что в него будет входить - можно ли воспользоваться чем-то вроде DDK?



#4 Stas Pavlov

Stas Pavlov

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 4 093 Сообщений:
  • МестоположениеМосква

Опубликовано 20.02.2007 - 21:17

В общем случае нужен Platfrom Builder и знание об аппаратной части устройства Windows Mobile для которого пишется драйвер.



#5 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 20.02.2007 - 21:22

а где берется Platform Builder? и какие конкретно особенности устройства нужно учитывать при написании драйвера?

ПО для устройства (firmware) писал я сам, но опыта в разработке драиверов у меня нет! ранее при написании софта для ПК пользовался только готовым драйвером (*.sys), к которому поставлялась dll'ка с API-функциями для работы с этим устройством (Open, Read, Write, Close, SendPacket, ReceivePacket)



#6 Stas Pavlov

Stas Pavlov

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 4 093 Сообщений:
  • МестоположениеМосква

Опубликовано 20.02.2007 - 21:37

Platfrom Builder - это средство разработки образов Windows CE. Пробную версию можно скачать с сайта Microsoft. В поставке PB есть множество примеров драйверов для различных типов устройств.

Документация здесь:
http://msdn2.microso...y/ms923714.aspx
http://msdn2.microso...y/aa448290.aspx

И т.д.



#7 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 20.02.2007 - 22:03

разве Windows Mobile и Windows CE - это одно и то же?



#8 Stas Pavlov

Stas Pavlov

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 4 093 Сообщений:
  • МестоположениеМосква

Опубликовано 20.02.2007 - 22:07

Нет, но Windows Mobile использует ядро Windows CE 5.0.



#9 Mobmax

Mobmax

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 1 326 Сообщений:

Опубликовано 21.02.2007 - 01:10

... Драйвера и все остальное... Отличия только в оболочке и офисных приложениях... Ну и Windows Mobile не собирается для платформ отличных от ARM.



#10 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 09.03.2007 - 23:43

Прочитал документацию.

В чем разница между

1) USB Function Driver

2) USB Function Client Driver

3) USB Host Driver

4) USB Host Client Driver

какой из них нужно брать за основу, если устойство, для которого этот драйвер делается, подключается к КПК как к Host'у?



#11 Mobmax

Mobmax

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 1 326 Сообщений:

Опубликовано 10.03.2007 - 02:14

Начнем с начала:

1 и 2 варианты, когда устройство выступает в роли USB клиента (например модема).

3 и 4 варианты, когда устройство выступает в роли USB сервера и само поддерживает подключение клиентов (например USB дисков, модемов)

Разница между Function и Client в том, что function знает про железо и может в качестве монолитного драйвера реализовывать простые функции (USB сериал). Клиент про железо не знает, а работает на более высоком уровне, зато реализует протокол общения по USB и интерфейс во внешний мир например взаимодействует с TAPI + Comm чтоб реализовать модем.

Аналогичная сетуация с хостом. Если посмотреть как реализован хост для USB дисков, то можно увидеть слоеный пирог где вверху ф-ции диска для файловой системы реализовнные в Host Client, а внизу USB Host отвечающий за работу железа.

 



#12 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 10.03.2007 - 20:18

использую КПК Acer n300, он имеет в себе USB Host, т.е. к нему можно подключить мышку, клавиатуру, принтер

я хочу, чтобы PDA был "главным" компьютером, и к нему подключались другие, подчиненные устройства (например, датчик, работающий как радиомодем)

соответственно, нужен драйвер, который будет устанавливаться для этого радиомодема и позволит пользовательской программе работать с ним (например, читать из него пакет и передавать)

не знаю какой из приведенных примеров драйвера взять за основу, и какую именно часть стека драйверов мне нужно реализовать.



#13 Mobmax

Mobmax

    Advanced Member

  • Members
  • ФишкаФишкаФишка
  • 1 326 Сообщений:

Опубликовано 11.03.2007 - 12:49

Все очень зависит от того, что должно делать устройтсво. Если это ради-модем, то тут вопрос в том, что он умеет из себя. Если он умеет быть стандартным USB-Serial, то тогда вообще ничего писать не придется, а все обойдется несколькими правильными ключами в реестре, которые говорили бы системе, что при подключении устройства с VID/PID вашего модема надо просто запустить стандартный дарайвер и все будет ОК.

Если он какой-то специфический или задачи стоят другие, то возможно надо взять USB Host Client от RNDIS и тогда модем будет изображать из себя сетевую карту.

Вариантов может быть много. Все зависит от задачи.

В состав PB входят примеры или PQD драйвера для большинства применений и впролне возможно что надо просто взять один из них и сделать в нем минимальные изменения.

 



#14 Robin

Robin

    Newbie

  • Members
  • Фишка
  • 7 Сообщений:

Опубликовано 13.03.2007 - 21:46

т.е., в системе уже есть стандартный драйвер для устройства ,которое подключается к КПК по USB, но видно для пользователя и приложений как COM-порт?

это очень радует. Но каким требованиям должно удовлетворять устройство чтобы выглядеть "стандартным USB Serial"? я так понимаю, оно должно иметь определенный PID, определенные дескрипторы (Communication Device Class), использовать конкретный тип передач (Bulk). Где все это точно узнать?



#15 MOHAPX

MOHAPX

    Newbie

  • Members
  • Фишка
  • 1 Сообщений:

Опубликовано 09.03.2009 - 01:17

а не подскажете, какие именно ключи надо поменять в WM 6, чтобы система увидела радио-модем?

#16 Sergeyexapy

Sergeyexapy

    Newbie

  • Members
  • Фишка
  • 2 Сообщений:
  • МестоположениеNikolaev

Опубликовано 03.04.2018 - 17:49

тем что не 640480 и с маленьким дисплеем это первое второе - сотовый я таскаю с собой всегда, а КПК - нет напрмер на роликах КПК нужен только для того, чтобы его расшибить соответственно все равно нужно 2 девайса




1 пользователей читают эту тему

0 members, 1 guests, 0 anonymous users