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


Форум

Вы не вошли.

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

#1 Re: Техническая поддержка и выбор оборудования » E14-440 - Kubuntu 64 » 27.08.2014 07:24:38

Poul пишет:

ну она ошибку возвращает или успех...

Все заработало.
Благодарю за наводящий вопрос про загрузку файла биоса.

Дело было в том, что при установке нового ядра в программе qtcreator я ненароком поменял порядок сборки (были назначены сторонние каталоги для сборки и запуска программы, вместо текущего с кодом программы), в итоге в текущем каталоге не оказывалось файла "E440.bio".

#2 Re: Техническая поддержка и выбор оборудования » E14-440 - Kubuntu 64 » 25.08.2014 14:46:20

Вот эти исходники:
http://www.lcard.ru/download/lcomp_linux.tgz
(с ручной заменой на VM_IO)

LoadBios проверить смогу только послезавтра.
А успешность загрузки как должна проявляться, за какой переменной надо следить?
Сейчас данная функция проходит без сообщений о какой-либо ошибке.

#3 Техническая поддержка и выбор оборудования » E14-440 - Kubuntu 64 » 25.08.2014 12:05:49

vadter
Ответов: 4

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

Произошел апгрейд Kubuntu 12.04 на 14.04 ядро 3.13.0-34-generic.
При компиляции библиотеки модулей *.ko и liblcomp.so переменная VM_RESERVED заменялась на VM_IO, как было сказано на форуме ранее. Компиляция произошла без ошибок.

Процесс запуска АЦП подвисает в функции ReadPlataDescr(&pd1)

// Запуск АЦП
    PLATA_DESCR_U2 pd1;
    SLOT_PAR sl1;
    LUnknown* pIUnknown;

    // Start ACP
    handle1 = dlopen("/home/.../liblcomp.so",RTLD_LAZY);
    if(handle1==NULL) printf("Error open liblcomp.so");

    CREATEFUNCPTR CreateInstance =(CREATEFUNCPTR) dlsym(handle1,"CreateInstance");
    //if(CreateInstance==NULL) printf("Error CreateInstance");

    pIUnknown = CreateInstance(0);

    pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);

    pIUnknown->Release();
    pI->OpenLDevice();

    pI->GetSlotParam(&sl1);

    pI->LoadBios((char *)"E440");
    pI->PlataTest();
    //sleep(1);
    pI->ReadPlataDescr(&pd1); // подвисает в данном месте на время примерно 20 секунд
...

И далее процесс вычитки информации с АЦП не запускается (переменная pp[0] из примера test не меняет своего значения, всегда 0).

В переменную pd1 параметров платы возвращается непонятная каша, только частота кварца - числом.

Данный пример работает на ubuntu 12.04 32 бит, ядра 3.13.0-хх.

Если возможно, прошу пояснить, как решить данную проблему для 64 битного ядра.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4

Многоканальный телефон:+7 (495) 785-95-25

Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск