Stack USB Device

Pubblicato il Pubblicato in Sistemi Operativi Real-Time

Stack USB Device ottimizzato per il kernel real-time Segger embOS. Sotto sono riportate le classi device attualmente disponibili

MSD

Mass Storage Device

Applicazioni tipiche:

  • Digital camera
  • USB stick
  • MP3 player
  • DVD player

Non richiede l'installazione di driver sull'host

CDC-ACM

Communication Device Class. 

Il device viene visto dall'host come un canale seriale virtuale.

Applicazioni tipiche: 

  • Modem
  • Telephone system
  • Fax machine
  • Datalogger
MTP

Media Transfer Protocol

Applicazioni tipiche:

  • Digital camera
  • MP3 player
  • Smartphone

Vantaggi rispetto a MSD:

  • cavo scollegabile durante il trasferimento di dati, senza danni al file system.
  • Il file system può non essere FAT
  • I file possono essere virtuali
    • Host e device possono accedere al file system simultaneamente.
IP-Over-USB

Grazie alla nuova tecnologia IP-over-USB con il webserver integrato, è possibile accedere al dispositivo da qualsiasi host (Windows, Linux, Mac) semplicemente digitando il nome del dispositivo nella barra degli indirizzi di un browser. Il nome del dispositivo per default è usb.local. Non è necessario installare nulla sull'host.

Printer

Questa classe riceve dati da un host e li gira a un parser. Questo modulo fornisce delle routine automatiche di gestione degli errori, per esempio nel caso in cui il dispositivo rimanga senza carta. Il protocollo USB è completamente nascosto allo sviluppatore che si può concentrare sullo sviluppo del parser.

HID

Human Interface Device

Applicazioni tipiche:

  • tastiere
  • puntatori Mouse 
  • Joystick
  • Game pad
  • pannelli di controllo con bottoni
BULK

Componente Bulk per lo stack USB Device

Smart-MSD

Questa tecnologia può essere utilizzata in vari tipi di applicazioni senza dover installare alcun driver sull'host. SmartMSD analizza l'operazione effettuata dall'host e passa il comando allo strato applicativo del target, il quale intraprende le azioni opportune. Un semplice drag-and-drop è ciò che serve per inizializzare il processo.