Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Numega Driver Studio

487
10 октября 2003 года
ddnh_bc
301 / / 16.09.2003
Всем добрый день!

Господа, а нет-ли случаем у кого дистрибутива Numega Driver Studio (ежели мне не изменяет память - где-то 25 метров в архиве будет).
И ежели есть, не могли-бы вы совершить добрый поступок и поделиться сим нужным продуктом? Шибко надо - а где сидюк искать (и есть ли он вообще) незнаю.

И еще один вопрос, уже касаемо драйверов.
Ежели я ни разу не ошибаюсь, дрова обладают большими правами и приоритетами, чем приложения 3-го кольца.

А не подскажет-ли кто-нибудь, сколько системных тиков выделяется системой на работу драйвера?
3
10 октября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by ddnh_bc
Всем добрый день!
Господа, а нет-ли случаем у кого дистрибутива Numega Driver Studio (ежели мне не изменяет память - где-то 25 метров в архиве будет).
И ежели есть, не могли-бы вы совершить добрый поступок и поделиться сим нужным продуктом? Шибко надо - а где сидюк искать (и есть ли он вообще) незнаю.



Куда класть? Давай FTP

Цитата:
Originally posted by ddnh_bc
И еще один вопрос, уже касаемо драйверов.
Ежели я ни разу не ошибаюсь, дрова обладают большими правами и приоритетами, чем приложения 3-го кольца.

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



Не корректный вопрос.
1. Интервалы времени выделяются не процессам, и т.п., а потокам.
2. Драйвера работают на различных уровнях. Наиболее распространенные PASSIVE_LEVEL и DISPATCH_LEVEL.

487
11 октября 2003 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by Green


Куда класть? Давай FTP



Не корректный вопрос.
1. Интервалы времени выделяются не процессам, и т.п., а потокам.
2. Драйвера работают на различных уровнях. Наиболее распространенные PASSIVE_LEVEL и DISPATCH_LEVEL.



Попробую пояснить:

Задача в принципе простая. Мне нужно реализовать отправку сигналов в LPT порт с частотой от 40 КГц и выше.
Начнем с того что команда out под NT вообще запрещена на уровне приложений - так что все это нужно пихать в дривер.
Так вот. По поводу отправки с такой высокой частотой. Нарыл разных там примеров таких высокоразрядных таймеров. Реализовал. Все в конечном итоге сводится к команде rdtsc. ПРИБЛИЗИТЕЛЬНО все это работает - правда сигнал гнал, создавая в приложении отдельный поток с приоритетом THREAD_PRIORITY_HIGHEST.
Так вот.
Сигнал гонится - но возникает одна неувязочка!
rdtsc считает тики процессора - а процессы имеют привычку переключаться между собой - иногда на время большее, нежели требуемый интервал между отправкой сигнала. А так как интерфейс нагружен графикой (надо), то эти проскоки еще увеличиваются - и в результате частота начинает плавать (не шибко в больших диапазонах но все-же).

Так вот, по этому я и хотел узнать - сколько выделяется тиков на работу одного драйвера? Ведь они-же между собой тоже должны делиться временем! Или нет? Вот именно это и хотел узнать.

FTP шника щас у меня нету. Попробую поискать.

3
11 октября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by ddnh_bc


Попробую пояснить:

Задача в принципе простая. Мне нужно реализовать отправку сигналов в LPT порт с частотой от 40 КГц и выше.
Начнем с того что команда out под NT вообще запрещена на уровне приложений - так что все это нужно пихать в дривер.
Так вот. По поводу отправки с такой высокой частотой. Нарыл разных там примеров таких высокоразрядных таймеров. Реализовал. Все в конечном итоге сводится к команде rdtsc. ПРИБЛИЗИТЕЛЬНО все это работает - правда сигнал гнал, создавая в приложении отдельный поток с приоритетом THREAD_PRIORITY_HIGHEST.
Так вот.
Сигнал гонится - но возникает одна неувязочка!
rdtsc считает тики процессора - а процессы имеют привычку переключаться между собой - иногда на время большее, нежели требуемый интервал между отправкой сигнала. А так как интерфейс нагружен графикой (надо), то эти проскоки еще увеличиваются - и в результате частота начинает плавать (не шибко в больших диапазонах но все-же).

Так вот, по этому я и хотел узнать - сколько выделяется тиков на работу одного драйвера? Ведь они-же между собой тоже должны делиться временем! Или нет? Вот именно это и хотел узнать.

FTP шника щас у меня нету. Попробую поискать.



На DISPATCH_LEVEL никто никому ничего не должен. :D
Поэтому рекомендуют:

Interrupt disable should not exceed 100 microseconds nor peak over 200 microseconds in any 1-millisecond interval. In WDM, the interrupt service routine (ISR) should not run at priority above DISPATCH_LEVEL for more than 100 microseconds in any 1 millisecond interval.

Never allocate memory from paged pool, or access memory in paged pool, while running at IRQL >= DISPATCH_LEVEL. It is a fatal error.

Never wait on a kernel dispatcher object for a nonzero interval at IRQL >= DISPATCH_LEVEL. It is a fatal error.

Never call any function that causes the calling thread to wait directly or indirectly while executing at IRQL >= DISPATCH_LEVEL. It is a fatal error.

и т.д.
Я как-то писал дрова под LPT для программирования через него внешнего контроллера. Там были жесткие требования по временным интервалам. Могу выслать код, но не принимай этот код, как пример хорошего программирования драйверов, т.к. это по сути был мой первый серьезный опыт в этой области.
Driver Studio для него не требуется, только DDK. Я вообще не советую использовать Driver Studio для генерации драйверов. Это как VCL в Borland Builder-е, огромные размеры и куча багов.

487
12 октября 2003 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by Green

Я как-то писал дрова под LPT для программирования через него внешнего контроллера. Там были жесткие требования по временным интервалам. Могу выслать код, но не принимай этот код, как пример хорошего программирования драйверов, т.к. это по сути был мой первый серьезный опыт в этой области.
Driver Studio для него не требуется, только DDK. Я вообще не советую использовать Driver Studio для генерации драйверов. Это как VCL в Borland Builder-е, огромные размеры и куча багов.



Пришли исходники - ежели не трудно! Буду весьма признателен! Мне в плане ознакомления - все равно ведь логику свою прошивать придется. Кидать можно на мыло - [email]begemot_cat@mail.ru[/email].

Теперь хучь чего-то начинает проясняться :)

319
12 октября 2003 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by ddnh_bc


Пришли исходники - ежели не трудно! Буду весьма признателен! Мне в плане ознакомления - все равно ведь логику свою прошивать придется. Кидать можно на мыло - [email]begemot_cat@mail.ru[/email].

Теперь хучь чего-то начинает проясняться :)



можно мне тоже примерчик? на [email]xelos@front.ru[/email]

319
14 октября 2003 года
xelos
577 / / 27.02.2003
Спасибо, все получено
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог