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


Патч драйверов для E14-440

Вы не вошли.

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

Vadter
10.04.2013 06:42:26
#1

Гость

Патч драйверов для E14-440

Здравствуйте!

При запуске устройства USB e14-440 на линукс (AltLinux32, Kubuntu64) обнаружено, что в файле ldevbase.cpp:273-274 возможно неправильное использование памяти при копировании.
В результате в процесс работы АЦП был нестабилен (зависания через непродолжительное время работы порядка 10 минут).
Проблема была решена изменением параметров в mmap:

//map_inBuffer = mmap(0, map_inSize*sizeof(short), PROT_READ, MAP_SHARED|MAP_LOCKED, hVxd, 0x1000);
map_inBuffer = mmap(0, map_inSize*sizeof(short), PROT_READ, MAP_SHARED, hVxd, sysconf(_SC_PAGE_SIZE));

10.04.2013 11:30:37
#2

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

Re: Патч драйверов для E14-440

не совсем понятно в чем возможно неправильное использование памяти. последний параметр 0x1000 (может быть 0x2000 и 0x3000) используется внутри драйвера вовсене как offset (для E400 он вообще не используется...). MAP_LOCKED собственно хотелось память залочить в памяти....