Приветствую!
Так как ULPI завести с ходу не вышло, пытаюсь работать с OTG_HS в режиме FS (почему не OTG_FS? Потому что у HS есть DMA) При записи блоками по 16384 байта получил скорость записи 400-450Кб/c и больше не растет с увеличением буфера (имеется в виду размер того буфера, который я скармливаю в f_write). Это все с увеличенным USBH_MAX_DATA_BUFFER до 16384.
Слышал, что кто-то что-то подкручивал-менял в библиотеках от ST и получал бОльшую скорость, но подробностей нигде нет. Может быть кто-то расскажет, что надо подкручивать в либах от ST?
Я посмотрел на ЭТО, и голова кругом. Понимаю, конечно, что все по слоям делится и все такое, но блин, коллбек на коллбеке и хуками погоняет. Такое впечатление, что 80% времени оно занимается прыжками между этими вложенными функциями и коллбэками. Такое впечатление, что они еще и буфер копируют между всеми этими слоями, вместо того, чтобы использовать какой дали "сверху".
Или это в принципе невозможно с ST HAL + ST USB HOST LIB?
Спасибо заранее!
|