Strumento descrittore USB?


9

Qualcuno potrebbe consigliare uno strumento simile a una procedura guidata per creare descrittori di dispositivi USB?

La maggior parte (tutti?) Esempi di firmware USB che ho esaminato finora definiscono i descrittori come semplici array di byte nel file .c, compilati manualmente (con un piccolo aiuto dalle macro).

Non è una magia nera, ovviamente, comunque credo che un semplice strumento specializzato possa essere utile. Googling per questo non ha dato risultati utili, tuttavia ...

Risposte:


1

Uno strumento simile a un mago può essere carino la prima volta che lo usi, ma poi si mette in mezzo. Un metodo migliore è una struttura decente dei descrittori in memoria e alcune utili macro e altre logiche di preelaborazione in modo da poter fornire le informazioni a un livello superiore e che vengano automaticamente inseriti i byte e i bit corretti.

Il mio stack USB per PIC 18 funziona così. Puoi installarlo e un sacco di altre cose dalla mia pagina di download del software . L'impostazione USB statica è definita in due file. I modelli per questi sono denominati QQQ_USB.INS.ASPIC e QQQ_USB0.INS.ASPIC nella directory SOURCE> PIC. Innanzitutto si definisce VID / PID, quali endpoint si utilizzano e quali tipi di trasferimento per endpoint nel file usb.ins.aspic. Quindi modifichi i descrittori in usb0.ins.aspic con il bit che devi personalizzare. Dato che conosce già cose come i tipi di trasferimento e le dimensioni del buffer, lasci quei simboli da soli e cambi solo ciò che è unico per la tua implementazione. Nella maggior parte dei casi, ciò regola solo il nome del produttore e il nome del prodotto. Questi vengono scritti come normali stringhe e una macro si occupa della formattazione corretta.


bene, entrambi i modi hanno pro e contro. Suppongo che uno strumento correttamente scritto possa archiviare le impostazioni in una sorta di file di testo (in modo da poterlo conservare nel repository di codice) e consentire di modificare nuovamente le impostazioni e rigenerare il file descrittore ogni volta che è necessario. Credo che ciò possa essere utile per almeno 2 motivi: a) assicurarsi che il descrittore sia valido, b) fornire una sorta di utile aiuto contestuale per ciascun campo. Un altro caso d'uso utile è importare il descrittore dall'effettivo dispositivo USB collegato al PC.
Code Painters,

@Czajnik: hai guardato il codice che ho menzionato? Non è poi così difficile compilare ciò che vuoi.
Olin Lathrop,

1
Sì, l'ho fatto (a proposito, il file exe è un po 'ostile per gli utenti Linux). E ho già fatto i miei descrittori prima, come ho detto, non è magia nera per me. Immagino sia una questione di preferenze personali, davvero :)
Code Painters il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.