Ответ: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 19 февраля 2004 г. 13:49
В ответ на: если своими словами, то хотелось бы отправлено yes 19 февраля 2004 г. 13:31

1). Если делать свою железку (а у меня именно так сделано), то ничего переписывать не надо. Просто написать .inf файл, где сказать, что железка с этим PID/VID есть LPT, и драйвер ее есть parport.sys - остальное сделает сама винда. Я всего-лишь дописал к этой связке дополнительный драйвер-фильтр, который говорит винде, что меня устраивают только такие или такие адреса, и как винда говорит "да", я прописываю выделенный адрес в конфигурационное пространство платы.

2) VMWare я не знаю. И как сделать так, чтоб IO отлавливалось на уровне 0-го кольца защиты - тоже не знаю.

3) Если программа виндовая, то у нее 2 пути. Или DeviceIOControl к драйверу, или просто драйвер открывает ей (опять через недок. функции Ke386SetIoAccessMap и Ke386IoSetAccessProcess - они прописывают IO access map прям в TSS процесса) и прога делает in/out как будто она и не в юзерском кольце.

4) Эта legacy как я понял касается просто возможности прописать драйвер на порт, который не енумеруется ни на PCI, ни на ISAPNP. Это не эмуляция никакая. Эмуляцией в NTVDM-процессах занимается parvdm.sys и тупо перенаправляет все происходящее в класс-драйвер принтера.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru