Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Е440 Win32 драйвер - просто детский лепет

Вы не вошли.

 Поиск | Регистрация | Вход 

Hemul
05.05.2004 13:19:38
#1

Гость

Е440 Win32 драйвер - просто детский лепет

Е440 Win32 драйвер - просто детский лепет по сравнению с драйвкром для Linux. В линухе нехватает только колбеков при возникновении событий, а так бы был полный риалтайм! Выделяешь себе буфер, мапишь его к девайсу и все что остается - смотреть чтобы буфер не переполнился да читать/писать в/из буфера.
Для win32 хотелось бы витеть что-то подобное и с подобной линухе независимостью от модели карты.
Я конечно понимаю что мешает проприетарный USB драйвер для которого написана Lusbapi.dll, но ведь его можно переписать. А единый АПИ для всех карт это огромный бонус.

Anton
05.05.2004 16:22:47
#2

Гость

Re: Е440 Win32 драйвер - просто детский лепет

Какой максимально можно использовать размер буфера в драйвере под линух?

Hemul
06.05.2004 08:57:48
#3

Гость

Re: Е440 Win32 драйвер - просто детский лепет

эээ... Самому драйверу обычно много памяти не нужно. Но вообще-то все ограничивается кол-вом памяти в компе и 4Пб для 32х разрядных десктопных процов. Драйвер отличается от обычной проги только тем что он исполняется на более привелегированном кольце защиты, еще возможно ему недоступны функции стандартного АПИ но это врядли. Однако если драйвер загребет себе все память, то приложениям ничего не останется (KDE, например, требует как минимум 96М свободной памяти), так что работать будет только bash.

Anton
06.05.2004 09:13:40
#4

Гость

Re: Е440 Win32 драйвер - просто детский лепет

Имелось в виду буфер функции read. например в томже comedi его можно сделать практически любого размера, что позволяет особенно не напрягатся по поводу возможных задержек в программе например при обработке и сохранении. Програ занята или файловая система тормознула (бывает подтормаживает reiserfs) а данные не теряются. Конечно можно организовать этот буфер и у себя в проге, так сказать на user level, но может он там есть? При беглом взгляде похоже он там только на 128к мах, т.к. выделяется в памяти ядра.

Hemul
06.05.2004 09:26:27
#5

Гость

Re: Е440 Win32 драйвер - просто детский лепет

Именно этим и занимается вункция mmap(...), ты можешь назначить функции read(...) свой буфер, единственное ограничение адрес и размер памяти должен быть кратен размеру страници памяти (его можно получить функцией getpagesize() (см. доки в драйвере). Только прелесть здесь в том что функция read(...) после этого не нужна, т.к. прога может сама смотреть в этот буфер и делать там все что хочет.

Vitaly
16.05.2004 11:28:56
#6

Гость

Re: Е440 Win32 драйвер - просто детский лепет

может быть не совсем по данной теме, но хочется спросить у инженеров LCard и у народа заглядывающего сюда - не слышно ли про драйвер E440 для наладонников (Wnidows CE)... хотя бы такой же _проприетарный? На десктопе то Lusbapi.dll я не использую и загружаю свою микропрограмку в DSP(специфичность увы), но десктоповский vxd sys-драйвер с его двумя командами меня вполне удовлетворяет. Если бы такой-же на карманный USB host.. или подскажите куда копать.

17.05.2004 09:06:52
#7

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Е440 Win32 драйвер - просто детский лепет

Не слышно (( Народу на это дело нет.

Стас
21.05.2004 09:44:30
#8

Гость

Re: Е440 Win32 драйвер - просто детский лепет

2Hemul

Расскажи плиз как у тебя получается смотреть в буфер без read()? Если не трудно, то кусок кода покажи, у меня segmentation fault всё время получается.

И ещё. Насколько быстро может работать msync()?