eddy_em: (Default)
[personal profile] eddy_em
Один товарищ решил проверить, насколько быстро может работать USB на STM32F103 (ссылка на не очень хороший ресурс). И получились у него совсем невзрачные результаты. На что я в своем духе объяснил, что проблема не в камне, а в используемом HAL'е — библиотечке, написанной ленивыми "индусами" для ленивых же "индусов" (интересно, что толпа ардуинщиков активно этой гадостью пользуется, и ни у кого из них не возникало вопроса о вменяемости этого говнокода). Но товарищ (хоть и вендузятник) все же не слился, а решил "пробить" мои велосипеды. И нашел мою реализацию CDC. ЛОРовец "сокрощенец" подкинул ТСу свою реализацию. В итоге у того родилась очередная статья с проверкой наших двух реализаций USB-CDC.
И что бы вы таки думали? Ему удалось гонять данные с предельной для USB на F103 скоростью — около 12Мбит/с!
Честно говоря, я такого не ожидал (у меня никогда не было цели выжать из USB-CDC все возможное). Однако, учитывая то, что тактовая у F103 всего-то 72МГц, в реальных условиях такой скорости можно достигнуть, лишь если отправлять малые порции данных из памяти в блокирующем режиме (для неблокирующего придется проделать значительную работу, чтобы USB могло пинаться DMA).
Радует, что человек понял, что "ограничение скорости USB на STM32" определяется не самим камнем, а кривостью кода! Правда, сдается мне, что он все равно продолжит использовать калокуб вместо того, чтобы писать код по-человечески. Да еще и вендузятник…

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 01:14 am
Powered by Dreamwidth Studios