Решил "оптимизировать" USB для STM32, чтобы было более-менее однообразно и для CDC, и для HID, и для составного устройства. Отрефакторил код, пытаюсь запустить. И таки что бы вы думали? До энумерации элементарно не доходит
( Read more... )
Буду разбираться. EP0 настраивается полностью аналогично рабочему варианту. Разве что, может я где-то в include-файле какой-нибудь флаг "не так" скопировал (хотя, просто копипастой туда-сюда рассовывал).
В общем, оказалось, что я, "оптимизируя", перестарался. Действительно, в заголовочном файле был косяк: я типы конечных точек в понимании STM32 помешал с типами в понимании дескрипторов, вот у меня и не было Control EP. Ну и еще косяки с этими хедерами. Уже заработала эмуляция PL2303, но почему-то некоторые запросы неправильные приходят (т.е. явно я опять где-то накосячил), да еще и с vendor read/write какие-то косяки, dmesg весь красный (но при этом все работает, т.к. в модуле ядра вообще не обращают внимания на подобные ошибки - и правильно, т.к. от них вообще ничего не зависит; разве что в "реальном современном" PL2303 может быть косяк, но и пох).
Comments 3
Такое поведение, когда на reset ты эндпоинты не открываешь. И control endpoint закрыт для приема дескриптора.
Reply
Reply
Reply
Leave a comment