Вот обзавёлся тут физическим уровнем USB Hi-Speed - http://www.wvshare.com/product/USB3300-USB-HS-Board.htm
Подключил его к F4Discovery:
ULPI STM32F407
---- -------------
D0 - PA3
D1 - PB0
D2 - PB1
D3 - PB10 - микрофон (убран)
D4 - PB11
D5 - PB12
D6 - PB13
D7 - PB5
STP - PC0 - ключ питания USB FS (не мешает ???)
NXT - PC3 - микрофон (убран)
DIR - PC2
CLKOUT - PA5
RES - nRST (сброс платы)
Микрофон, висящий на ногах PC3, PB10 я выпаял.
Остался только ключ питания USB FS на ноге PC0. Его я не трогал. Вроде не мешает, да и убирать его не хочется, дабы не потерять работающий и проверенный USB FS.
Пошарился на предмет примеров работы с USB HS - глухо.
Нашёл здесь и на офсайте по ссылке выше т.н. "примеры" - некие "выжимки" из кода от ST-шной демоплаты STM3240G-EVAL, где USB HS идёт в комплекте.
Компилил их под мою модификацию проца (F407VGT6), проверял ноги интерфейса ULPI (вроде одни и те же) - ни один не пошёл. Светодиодики питания загораются, а толку - 0. Комп даже не видит этого устройства.
В исходниках до фигища мусора от той платы - хвосты дисплея, джойстика и прочая хрень. У меня, конечно, в схеме есть дисплей, он работает нормально, но хотелось бы сперва поднять этот USB, а потом уже совмещать его с дисплеем ....
К тому же на STM3240G-EVAL другой чип USB-HS - ISP1705AET от филипса (читал, что он уже снят с производства, правда это или нет - не знаю), могут быть какие-то отличия в инициализации, или ещё в чём-то..
На другом форуме нашёл похожую тему. Но кроме рассуждений про трафареты для печатных плат и одного-единственного радостного возгласа "фигнюсик заработал", я там не нашёл.
Правда, упоминалось ещё, что там надо убрать акселерометр, но зачем - непонятно, ноги совершенно другие, c ULPI они не пересекаются.
И есть некоторое кол-во "подчищенных" постов. Наверное, автор что-то из них повычищал

Вот вспомнился нюанс - когда я прошил пример с офсайта (скомпиленный под VGT6), на плате загорелся светодиодик питания USB FS - на ноге STP что-то дёрнулось (видимо появился 0, в доке на ключ stmps_21x1 я почему-то не нашёл, каким уровнем он включается, судя по схеме F4Discovery, включается нулём).
Когда прошил вроде бы тем же примером из вышеупомянутой темы на этом форуме - эта лампочка не включается. Значит, там что-то отличается, хоть вроде бы "всё одинаково".
Примеры все под keil, но я пишу под IAR.
В кейле у меня не фурычит отладка (то не может до программатора достучаться, то target опознать он не в силах), кокос терпеть не могу из-за его (или GCC-шных) "особенностей".
Там всё как-то не как у людей. Даже над проверенными, идеально работающими в том же IAR-е вещами приходится с бубном танцевать. Проходил уже .... Даже поиск строки по файлам через задницу сделан. Приходится иногда Far-ом искать, потому что эти гады обломились сделать ввод строки поиска руками, можно только указать её курсором в тексте. Козлы.
Спасибо.