Подтверждаю косяки в USB стеке от STM, конкретно сталкивался со следующими: Баг в USB с не отправкой данных, если они кратны максимальному размеру пакета 64 байта. Нужно после каждого такого пакета отправлять ZLP.
https://my.st.com/ …DispForm.aspx?ID=24294
Плюс еще баг в DCD_WriteEmptyTxFifo, из-за которого постоянно возникают не нужные прерывания, которые сильно грузят процессор:
https://my.st.com/ …06F5B¤tviews=619