December 19th, 2019

поумнеть

fetisov/lrndis

потыкал палочкой https://github.com/fetisov/lrndis

1. плюс. там в комплекте есть хекс, он шьется в stm32f4disc и вполне работает
2. плюс. усб+сеть. работает, но иногда подглюкивает
3. минус. кривоват один из дескрипторов - перепутан бит в описании потребления электроэнергии
4. минус - кейл - виндоус онли
5. минус - кейл - нестандартный-негну синтаксис ассемблера
6. минус - сам факт наличия ассемблера
7. минус - std-periph - оно писано индусами и похабно даже на вид. ну и автор где-то отмечал, что иногда внезапно виснет.
8. плюс - таки rndis, совместимо с любыми виндами примерно от ХР (когда-если виндоус умрет в ширпотребном секторе, на порядок-два более простой и менее глюкавый cdc-eem захватит этот сектор. наверное)
9. минус - http 1.0/0.9 но это исправимо (на хттп 1.1). по идее, даже гзипнуть можно, для экономии объёма прошивки.
10. минус - достаточно плотно взаимоувязана усб-специфика, кейл-специфика
11. минус - ассемблерный стартап с магией инициализации. плохо портируется как с кейла так и на другие процессоры

12. плюс. зашить в плату, подключить к компу, зайти на сайт, потыкать в чекбоксы светодиодов, увидеть показания акселлерометров и нажатие кнопки
13. плюс. а чем он svg'шку делал? у меня выходит жирнее!
14. плюс-минус. взят микро-тцп стек. как плюс - микро, без лишних копирований и маллок-фри. как минус - код этого стека не только древний, но и взята не последняя версия, в более новых апи менялось. как минус - стек написан из предположения о плохости оптимизатора. дикое количество гоуту и дефайнов. крайне неудобен в понимании. плюсы - компактен. минусы - труднорасширяем: попытки расширения быстро приведут к полному переписыванию.