Outil de descripteur USB?

9

Quelqu'un pourrait-il recommander un outil de type assistant pour créer des descripteurs de périphérique USB?

La plupart (tous?) Des exemples de micrologiciel USB que j'ai jusqu'à présent examinés définissent les descripteurs comme un simple tableau d'octets dans un fichier .c, rempli manuellement (avec un peu d'aide à partir des macros).

Ce n'est pas une magie noire, évidemment, je pense toujours qu'un simple outil spécialisé pourrait être utile. Googler pour cela n'a donné aucun résultat utile, cependant ...

Peintres de code
la source

Réponses:

1

Un outil de type assistant peut être mignon la première fois que vous l'utilisez, mais il vous gêne. Une meilleure méthode est une structure décente des descripteurs en mémoire, et quelques macros utiles et autres logiques de prétraitement afin que vous puissiez fournir les informations à un niveau supérieur et que les bons octets et bits soient automatiquement remplis.

Ma pile USB pour le PIC 18 fonctionne comme ça. Vous pouvez installer cela et un tas d'autres choses à partir de ma page de téléchargement de logiciels . La configuration USB statique est définie dans deux fichiers. Les modèles correspondants sont nommés QQQ_USB.INS.ASPIC et QQQ_USB0.INS.ASPIC dans le répertoire SOURCE> PIC. Vous définissez d'abord le VID / PID, les points de terminaison que vous utilisez et les types de transfert par point de terminaison dans le fichier usb.ins.aspic. Ensuite, vous modifiez les descripteurs dans usb0.ins.aspic avec le peu que vous devez personnaliser. Puisqu'il connaît déjà des choses comme les types de transfert et les tailles de tampon, vous laissez ces symboles seuls et changez simplement ce qui est unique à votre implémentation. Dans la plupart des cas, cela ne fait qu'ajuster le nom du fabricant et le nom du produit. Vous les écrivez comme des chaînes ordinaires et une macro se charge du formatage approprié.

Olin Lathrop
la source
eh bien, les deux façons ont des avantages et des inconvénients. Je suppose qu'un outil correctement écrit pourrait stocker les paramètres dans une sorte de fichier texte (donc on pourrait le conserver dans le référentiel de code), et permettre de rééditer les paramètres et de régénérer le fichier descripteur chaque fois que vous en avez besoin. Je pense que cela pourrait être utile pour au moins 2 raisons: a) s'assurer que le descripteur est valide, b) fournir une sorte d'aide contextuelle utile pour chaque champ. Un autre cas d'utilisation utile consiste à importer le descripteur à partir d'un périphérique USB réel connecté à un PC.
Code Painters
@Czajnik: Avez-vous regardé le code que j'ai mentionné? Ce n'est vraiment pas si difficile de remplir ce que vous voulez.
Olin Lathrop du
1
Oui, je l'ai fait (btw, le fichier exe est un peu hostile pour les utilisateurs Linux). Et j'ai déjà fait mes propres descripteurs, comme je l'ai dit, ce n'est pas de la magie noire pour moi. Je suppose que c'est une question de préférence personnelle, vraiment :)
Code Painters