USB組込み機器の設計、デバイスドライバ/プロトコルスタック
-
21-08-2019 - |
質問
っていう任務を書くのデバイスドライバの組み込みデバイスのフィニッシュにつなげる質と積極のマイクロコントローラのSPIインタフェース。最終的に、USBのインターフェースを使用するとダウンロードの更新をコード外部との検証。
私の質問は、なんだろうけど、日本人のリファレンスデザイン文書やオンラインでのチュートリアルの実装設計、USBプロトコルスタックデバイスドライバー内に組み込みシステム?私にとって、読書を通じて、650ページUSB.phpがv2で増えたファイルです。0スペックはちょっと厳しいのが現状です。
としてだけで、ハッサンの塔、王宮のマイクロコントローラーを私が使用していることがフリースケール9S12.
マーク
に基づくgoldenmean(-AD)のコメントしたかった以下のように追加情報:
1)組み込みデバイス用カスタム執行は、利用のサック或いは可能です
2)このデバイスに利用障害を示すデータの準備から取得することもできます。
3)私はお読みのdocsに関するLinuxが多いのではないものができないかと考えていますので非常に速く).
4)のデザインへの取組みにより、今は少なくとも書くのデバイスドライバのUSBデバイスをUSBプロトコル層(I/O)に居住し、デバイスドライバの解釈のデータです。私はこのアプローチにもとることができると思いますか間違っています。
編集-年後に
そう思ってやってきました株数項目前にゼロからの私の場合はいい仕事をUSBデバイスです。を行ったいくつかの障害が開発時のコードできるのではないかと考えて稼働のための初めてとなります。
最初の問題につかってした場合、USBデバイスを接続したホスト(Windowsの場合のホストに対しリセットします。USBデバイスがリセットの割り込み可能フラグがあります。私は読めない文献に十分なかったい何が起こっていたことになり、受信に設定の請求ていた.かかったとのこととはなかったのでしょうか?図のものです。
第二の問題かってしませんでした取り扱いの設定に依頼Set_Configurationいます。た取り扱いでませんでした請求の処理を正しく示し、USBデバイスませんでしたACKを送信する場合はこの設定に依頼したいです。私は最終的にこらないようにするため、手ハードウェアのUSBプロトコルアナライザを用いた。
またその他の問題がったものの、これらの二つの最大のもたら、どんなものが図です。その他の問題があったので心配は大きなリトルエンディアン,フリースケール9S12vs USBデータフォーマット(Intel)。
その結のUSBデバイスドライバと同様UARTデバイスドライバーっす。を掲載していますコードでサイトは下記の通りです。
http://lordhog.wordpress.com/2010/12/13/usb-drive
を使う構造物を多くの人がないようにしてならず"としてのポータルとして使いの定義(例えば、MAX3420_SETUP_DATA_AVAIL_INT_REQR0x20)を、私のようにしてこれはコードを読みやすくするために。いに関する質問もお気軽にメールやってみるということです。本書は"USB完了開発者ガイド"したもので、すべての地域に集中します。このシンプルなアプリケーションに使用低速のUSBコードで接続し、メニューバー
解決
私はジャン・アクセルソンするによる完全な USBの以前の版を使用しました。確かに非常に完全ます。
社説口コミよります:
さてその第四版では、ユニバーサルシリアルバス(USB)インターフェースにこの開発者ガイドでは、このようなハードウェア設計、デバイスのファームウェア、およびホストアプリケーションソフトウェアなどのプロジェクト開発のあらゆる側面をカバーしています。
他のヒント
を開発するために必要なコードはRTOSは、そのプロセッサ/マイクロコントローラ上で実行されている、任意のオペレーティングシステム(OS)があるかどうかに依存します(... USB、パラレルポートなど)任意のインターフェイス用のデバイスドライバを書いている間。 例えばザッツはひるみを言う実行しようとしている場合 - それは、独自のドライバ開発キットを持っており、デバイスドライバの開発に従うべき手順ます。 Linuxのような他のOS、シンビアンます。
のために同じ そのプロセッサ/マイクロコントローラを制御するために起こっている、プレーンファームウェアコード(ノーOS)であることを行った場合は、、それは全く違う状況です。 だから、uがでているような状況のいずれかに基づいて、一つは読ま&理解する必要があります: -
1)プロセッサ/マイクロコントローラ開発ボードのハードウェア仕様 - ファイル、ポート、メモリレイアウト、等を登録
。2。)USB仕様
3。)ポインタのカップルは、私はすぐに見つかりました。 Googleはウルの友人もshud! http://www.lrr.in.tum.de/Par/アーチ/ USB / usbdoc / に - LinuxのUSBデバイスドライバ
http://www.microsoft.com/technet/archive/ WCE /サポート/ usbce.mspxする
〜AD
私はなぜでの送迎は行っており9S12?使ったので、前職ではなかった々に喜んでいただいております。
- っしゃgccサポートなどを使っていました.しかしMetrowerks
- あったかもしれないで、もしばしば発生するバギーのC++
- っしゃIDEのバイナリプロジェクトファイル!
- の9s12も、多くの指示を実行で5サイクル
- な電力効率の高ます。
- ないバレルシフタ、運よく見られる組込みコードが遅い
- なに安いです。
つのも嫌いで、8051.私が使っているアームCortexM3で現在の私の仕事では、このよ9S12から(高速クロック、仕事が毎クロック、消費電力の少安価に、gccサポート、32ビット対16-bit).
私はあなたが使用することを計画したがそれは柔軟だと仮定していたハードウェアかわからない、STMicro社は、USB / SPIのサポートとその部分で使用できるCコードのライブラリとマイコンのラインを提供しています。 - 私は大きな成功を収め年間の彼らのARM7シリーズMICROSを使用しました。
。ここでジョナサンValvano、テキサス大学の教授によって維持優れたサイトです。彼はあそこ4コース(3つの学部、大学院1)、すべての9S12マイクロコントローラを使用することについてですが教示されています。彼のサイトは、彼が彼のすべてのクラスのために使用する、すべての講義ノート、ラボマニュアル、そしてもっと重要なのは、スターターファイルが含まれています。
のウェブサイトは、それが90年代からだように見えますが、ちょうど少し周りを掘ると、あなたが必要なすべてのものを見つける必要があります。
私はアトメルのV71を使用してプロジェクトに取り組んでいます。プロセッサは非常に強力で、多くのチップ上で提供されるハイエンドの接続の間で480 MHz以上の48MHz(ないUSB 3.0)デバイスまたはホストモードを行いますUSBエンジンです。ツールは無料で、すぐそこにすべてのUSBスタックコードを持つホストとデバイスのUSBサンプルプロジェクトの数が付属しています。それは10個のエンドポイントをサポートし、あなたが他のタスクのために使用可能なプロセッサ馬力のほとんどを持っているように、すべての転送はDMAを介して行われています。アトメルのUSBスタックは、RTOSを必要とせずに動作します。