Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Про излишние уровни абстракции

Один товарищ решил проверить, насколько быстро может работать USB на STM32F103 (ссылка на не очень хороший ресурс). И получились у него совсем невзрачные результаты. На что я в своем духе объяснил, что проблема не в камне, а в используемом HAL'е — библиотечке, написанной ленивыми "индусами" для ленивых же "индусов" (интересно, что толпа ардуинщиков активно этой гадостью пользуется, и ни у кого из них не возникало вопроса о вменяемости этого говнокода). Но товарищ (хоть и вендузятник) все же не слился, а решил "пробить" мои велосипеды. И нашел мою реализацию CDC. ЛОРовец "сокрощенец" подкинул ТСу свою реализацию. В итоге у того родилась очередная статья с проверкой наших двух реализаций USB-CDC.
И что бы вы таки думали? Ему удалось гонять данные с предельной для USB на F103 скоростью — около 12Мбит/с!
Честно говоря, я такого не ожидал (у меня никогда не было цели выжать из USB-CDC все возможное). Однако, учитывая то, что тактовая у F103 всего-то 72МГц, в реальных условиях такой скорости можно достигнуть, лишь если отправлять малые порции данных из памяти в блокирующем режиме (для неблокирующего придется проделать значительную работу, чтобы USB могло пинаться DMA).
Радует, что человек понял, что "ограничение скорости USB на STM32" определяется не самим камнем, а кривостью кода! Правда, сдается мне, что он все равно продолжит использовать калокуб вместо того, чтобы писать код по-человечески. Да еще и вендузятник… Reposted from dreamwidth: https://eddy-em.dreamwidth.org/289937.html.
Tags: stm32, рукожопие
Subscribe

  • Документация...

    Дня четыре убил на написание небольшого описания разных протоколов, да и собственно самого устройства ПО для управления оптоволоконным спектрографом.…

  • Задачка для студентов

    Я тут интересную (и, главное, актуальную: судя по скудной информации в интернете, если этим кто-то и занимался, то результаты закопаны под NDA)…

  • Контроллер управления новой железякой

    Я до конца этой недели еще в отпуске. Погода мерзкая, поэтому хожу на работу. Вчера начал паять пару комплектов плат для управления новой железякой.…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 1 comment