Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Е440 Win32 драйвер - просто детский лепетЕ440 Win32 драйвер - просто детский лепет по сравнению с драйвкром для Linux. В линухе нехватает только колбеков при возникновении событий, а так бы был полный риалтайм! Выделяешь себе буфер, мапишь его к девайсу и все что остается - смотреть чтобы буфер не переполнился да читать/писать в/из буфера.
|
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетКакой максимально можно использовать размер буфера в драйвере под линух? |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетэээ... Самому драйверу обычно много памяти не нужно. Но вообще-то все ограничивается кол-вом памяти в компе и 4Пб для 32х разрядных десктопных процов. Драйвер отличается от обычной проги только тем что он исполняется на более привелегированном кольце защиты, еще возможно ему недоступны функции стандартного АПИ но это врядли. Однако если драйвер загребет себе все память, то приложениям ничего не останется (KDE, например, требует как минимум 96М свободной памяти), так что работать будет только bash. |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетИмелось в виду буфер функции read. например в томже comedi его можно сделать практически любого размера, что позволяет особенно не напрягатся по поводу возможных задержек в программе например при обработке и сохранении. Програ занята или файловая система тормознула (бывает подтормаживает reiserfs) а данные не теряются. Конечно можно организовать этот буфер и у себя в проге, так сказать на user level, но может он там есть? При беглом взгляде похоже он там только на 128к мах, т.к. выделяется в памяти ядра. |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетИменно этим и занимается вункция mmap(...), ты можешь назначить функции read(...) свой буфер, единственное ограничение адрес и размер памяти должен быть кратен размеру страници памяти (его можно получить функцией getpagesize() (см. доки в драйвере). Только прелесть здесь в том что функция read(...) после этого не нужна, т.к. прога может сама смотреть в этот буфер и делать там все что хочет. |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетможет быть не совсем по данной теме, но хочется спросить у инженеров LCard и у народа заглядывающего сюда - не слышно ли про драйвер E440 для наладонников (Wnidows CE)... хотя бы такой же _проприетарный? На десктопе то Lusbapi.dll я не использую и загружаю свою микропрограмку в DSP(специфичность увы), но десктоповский vxd sys-драйвер с его двумя командами меня вполне удовлетворяет. Если бы такой-же на карманный USB host.. или подскажите куда копать. |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепетНе слышно (( Народу на это дело нет. |
|||
|
||||
|
Re: Е440 Win32 драйвер - просто детский лепет2Hemul Расскажи плиз как у тебя получается смотреть в буфер без read()? Если не трудно, то кусок кода покажи, у меня segmentation fault всё время получается. И ещё. Насколько быстро может работать msync()? |
Страницы 1
Тема закрыта