ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
1 мая
541606 Топик полностью
fk0123 (23.08.2014 21:07, просмотров: 1) ответил fk0123 на Vinculum-II (VNC2) фирмы ftdi в качестве хоста к FT245BM...
Знаю, но никому не скажу. 1) В FTDI окопались индусы-говнокодеры -- без fifo в принципе не заведётся (касается автогенерированного кода, где болт забили на то, что write() может потребить менее заданного кол-ва байт). 2) Поток который вычитывает USB, при попытке вызова из него vos_dev_write(uart_handle, ...) не то, чтобы блокируется, но тратит на этот вызов относительно много времени (? я не догнал!) и не успевает опрашивать USB. В итоге заводим fifo в который кидаем из этого потока, и заводим ещё один поток который из fifo делает dev_write в uart. Не уверен, но может быть дело либо в долгом копировании (сомнительно), либо в мьютексе спрятанном в дебрях ихней библиотеки и блокируемым на dev_read(uart...) (типичный пример так называемого говнокода многозадачности и инверсии приоритетов, где они нахуй не сдались). 3) компилятор у них не совсем дотягивает до уровня Micro-C для пиков, но близок...