Если надо закинуть через usb что-нибудь на микроконтроллер с usb-cdc интерфейсом и надо было сделать ещё вчера, то быстрее всего оказалось с libusb.
Здесь, вменяемый и вполне рабочий пример на C, доброго человека. Попробовал с "коробочным" usb-cdc интерфейсом, сгенерированым stm32cube, работает. Не самый элегантный способ, зато быстро.
--
Решил что буду использовать libusb как кросплатформенный способ делать списки всего что на usb шине )