Я сейчас отлаживаю USB Gadget, пробовал на разных платах, сейчас пытаюсь понять, что не так с SK-9G45-OEM+SK-9G45-MB.
Вот объясните мне, пожалуйста, такую странность:
Включаю плату с деактивированным NAND CS без SD-карты, USB Device подключен к ПК через USB анализатор. На анализаторе - ни одного действия. Но если после включения питания нажать кнопку сброса, то USB Device "просыпается", появляется нумерация, идут пакеты. Что не так?
И другая проблема - USB Device не работает также после загрузки системы. Тут есть одно подозрение - VBUS от разъема не подключен к OEM, как же процессор вообще определит подключение USB Device? Или достаточно подсаживания линий данных?
Зачем гадать-подозревать - открыли схему, открыли доку на процессор - там все написано.
VBUS не подключен, т.к. у 9g45 аппаратного vbus нет, как в доке показано - берете любой из понравившихся GPIO и через делитель на него 5В с разъема, ну и соответсвенно в системе его прописать надо.
"Соплями" наверное не лучший вариант делитель вешать, но это не главное. Ведь проц как-то на начальной загрузке и без vbus определяет наличие USB, но только после сброса. Вот в чем загадка
Обалдеть ... видимо там маленькие человечки должны до процессора бегать с записками ...
Начните наконец доку читать, ничего загадочного в этом нет - если он не находит исполняемый код, тупо уходит на загрузку по USB (и VBUS ему для этого не нужен). Ну а то что именно после сброса там что то происходит по другому чем по включению питания - чистой воды последствия переходных процессов.
драйвер скорей всего динамическим модулем собран и не подгружен. То что на OEM работает USB device port у меня никаких сомнений нет и никаких кнопок и соплей там не надо
Драйвер собран правильно. Я позже добавил, что и в линуксе usb device заработал, но только если сброс на процессор пришел после включения питания. Мне кажется, проблема здесь. А поскольку повторяется не на каждой плате - временные характеристики включения где-то "на пределе". У меня на сторонней плате все нормально, после включения питания usb device сразу начинает работать без дополнительного сброса.