|
libusb и асинхронные операции |
|
|
|
Jun 6 2009, 11:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Такой вопрос. Как я понимаю, для булок в либусб есть только вот это:
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
А я хочу сделать большой и длинный write, и в параллель ему пустить большой и длинный read (на каждые два полученных слов девайс отдает одно обратно). И что делать? Вижу два выхода. Первый - в одном треде дать write, в другом read. А как оно, жить-то будет? либусб нормально мультитредность переносит? Второй... Пока не вижу... Есть ли в либусб асинхронные операции ? И какие есть альтернативы либусб вообще?
|
|
|
|
|
 |
Ответов
|
Jun 7 2009, 12:01
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Harbour @ Jun 7 2009, 14:50)  До спины как ее линковать, если не стоит вопрос с лицензией. качают ее обычно с SF. LGPL (есть где-то фак в сети на русском) подразумевает использование в коммерческих проектах при динамической линковке и предоставление всех исходников/обьектных файлов при статической. Где скачать я знаю, у меня больше вопросов именно с лицензией. Планируется бесплатный софт в виде расширения Tcl/Tk, свободно лежащий на сайте производителя неких девайсов (тот самый флешепрошиватель для TI DSP, который будет представлять собой доступ через xds510 к отладочным возможностям всех чипов TI через TCL, типа там "загрузить .out", поставить брейкпойнт, выполнить, изменить регистр, и т.п.). Т.е. проект некоммерческий, freeware, но не opensource. Да я и не могу открыть исходники, так как я использую в ее составе EPK от TI, который под NDA. Мне, судя по всему, нужно libusb 1.0, так как работать напрямую с usbfs мне влом (кстати, сложно это? Может зря мне влом?). Проблемы (так как техподдержкой занимаюсь не первый год) предвижу сразу и серьезные, так как у юзеров не будет в дистрах libusb нужной. И посыпятся вопросы - почему, как, что... Я хочу их избежать, отсюда хочется статически слинковать. Вопрос - LGPL позволит мне не открывать то, что я не имею права открывать, при статической линковке? Или как эту проблему обойти? Рядом с софтом положить libusb-1 (ну типа готовый rpm для RHEL), а у кого не RHEL, возитесь, как хотите? Так как впервые связался с такой вещью, прошу советов. И.. вдогонку. А свой драйвер уровня ядра - это сложно? Проще/сложнее дров для винды (которые я пишу совершенно свободно)? Я под линуксом дальше простых патчилок и всевозможных скриптов пока еще ничего не писал.
|
|
|
|
|
Jun 7 2009, 20:03
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995

|
Цитата(SM @ Jun 7 2009, 16:01)  Где скачать я знаю, у меня больше вопросов именно с лицензией. Планируется бесплатный софт в виде расширения Tcl/Tk, свободно лежащий на сайте производителя неких девайсов (тот самый флешепрошиватель для TI DSP, который будет представлять собой доступ через xds510 к отладочным возможностям всех чипов TI через TCL, типа там "загрузить .out", поставить брейкпойнт, выполнить, изменить регистр, и т.п.). Т.е. проект некоммерческий, freeware, но не opensource. Да я и не могу открыть исходники, так как я использую в ее составе EPK от TI, который под NDA. Мне, судя по всему, нужно libusb 1.0, так как работать напрямую с usbfs мне влом (кстати, сложно это? Может зря мне влом?). Проблемы (так как техподдержкой занимаюсь не первый год) предвижу сразу и серьезные, так как у юзеров не будет в дистрах libusb нужной. И посыпятся вопросы - почему, как, что... Я хочу их избежать, отсюда хочется статически слинковать. Вопрос - LGPL позволит мне не открывать то, что я не имею права открывать, при статической линковке? Или как эту проблему обойти? Рядом с софтом положить libusb-1 (ну типа готовый rpm для RHEL), а у кого не RHEL, возитесь, как хотите? Так как впервые связался с такой вещью, прошу советов.
И.. вдогонку. А свой драйвер уровня ядра - это сложно? Проще/сложнее дров для винды (которые я пишу совершенно свободно)? Я под линуксом дальше простых патчилок и всевозможных скриптов пока еще ничего не писал. 1. сейчас libusb-0.1.12 и это на арче, так что libusb-1. сырой и нет даже в testing 2. libusb-0.1.12 с тредами там тяжко. 3. lgpl только динамически без открытия кода. 4. если глыбоко не углублятся то один и тот же модуль ядра работает с 12 по 22 версию, но в 29-й в функции изменился тип данных. Поэтому может быть надежнее libusb. 5. комбинировал из sisusb.c usbtest.c и скелет из исходников ядра.
|
|
|
|
Сообщений в этой теме
SM libusb и асинхронные операции Jun 6 2009, 11:51 Harbour async режим поддерживается в libusb-1.x, как уже б... Jun 7 2009, 07:50 SM А вот такой вопрос - ее лучше статически прилинков... Jun 7 2009, 08:59   SM Цитата(al333 @ Jun 8 2009, 00:03) 3. lgpl... Jun 7 2009, 21:04 Harbour Гы , не конает - коммерческая программа, не должна... Jun 8 2009, 09:34 SM Цитата(Harbour @ Jun 8 2009, 13:34) Гы , ... Jun 8 2009, 09:41 Harbour Так можно - главное чтобы libtclxds.so не содержал... Jun 8 2009, 10:01 SM Цитата(Harbour @ Jun 8 2009, 14:01) То ли... Jun 8 2009, 10:12 al333 Цитата(Harbour @ Jun 8 2009, 14:01) А гем... Jun 9 2009, 08:25  SM Цитата(al333 @ Jun 9 2009, 12:25) И поэто... Jun 9 2009, 08:44 Harbour процент разрабов всегда сурьезно меньше чем юзеров... Jun 8 2009, 19:35 Harbour следовало бы с работодателем эти вопросы оговорить... Jun 10 2009, 05:57 SM Цитата(Harbour @ Jun 10 2009, 09:57) след... Jun 10 2009, 07:09 Harbour Дык, если сам себе босс - то нафига канитель ? GPL... Jun 11 2009, 06:14 SM Цитата(Harbour @ Jun 11 2009, 10:14) Дык,... Jun 11 2009, 06:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|