USB記述子ツール?


9

USBデバイス記述子を作成するために、ウィザードのようなツールを誰かが推奨できますか?

私がこれまで調べてきたほとんど(すべて?)のUSBファームウェアの例では、記述子を.cファイル内の単純なバイト配列として定義し、手動で(マクロの助けを借りて)入力しました。

それは黒魔術ではないことは明らかですが、それでも私は単純な専用ツールが役立つと信じています。しかし、それをググリングしても有用な結果は得られませんでした...

回答:


1

ウィザードのようなツールは、初めて使用するときにかわいいかもしれませんが、それから邪魔になります。より良い方法は、メモリ内の記述子のまともな構造と、いくつかの有用なマクロと他の前処理ロジックです。これにより、より高いレベルで情報を提供し、適切なバイトとビットを自動的に埋めることができます。

PIC 18のUSBスタックはそのように動作します。あなたは私のソフトウェアダウンロードページからそれと他のたくさんのものをインストールすることができます。静的USBセットアップは2つのファイルで定義されています。これらのテンプレートには、SOURCE> PICディレクトリでQQQ_USB.INS.ASPICおよびQQQ_USB0.INS.ASPICという名前が付けられています。最初に、VID / PID、使用するエンドポイント、エンドポイントごとの転送タイプをusb.ins.aspicファイルに定義します。次に、usb0.ins.aspicの記述子をカスタマイズする必要がある少しの部分で変更します。転送タイプやバッファサイズなどをすでに認識しているため、これらのシンボルはそのままにして、実装に固有のものを変更するだけです。ほとんどの場合、それはメーカー名と製品名を調整するだけです。これらを通常の文字列として記述し、マクロが適切なフォーマットを処理します。


どちらの方法にも長所と短所があります。適切に作成されたツールが設定を何らかのテキストファイルに保存し(コードリポジトリに保持できるようにする)、必要に応じて設定を再編集し、記述子ファイルを再生成できると思います。これは少なくとも2つの理由で役立つと私は思います。a)記述子が有効であることを確認します。b)各フィールドに何らかのコンテキストヘルプを提供します。別の有用な使用例は、PCに接続された実際のUSBデバイスから記述子をインポートすることです。
コードペインタ2011年

@Czajnik:私が言及したコードをまったく見ましたか?必要な情報を入力するのはそれほど難しくありません。
Olin Lathrop、2011年

1
はい、そうしました(ところで、exeファイルはLinuxユーザーには少し不親切です)。そして、私が以前言ったように、私は以前に自分の記述子を作成しました。それは私にとって黒魔術ではありません。本当に個人的な好みの問題だと思います:)
Code Painters
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.