マイクロコントローラ(任意の)のためのデバイスドライバを書きます
-
21-09-2019 - |
質問
私は(PIC、アトメルなどのような)マイクロコントローラ用のデバイスドライバを書くことに非常に熱心です。 私はこのコントローラ・コーディング・エリアの初心者ですので、私はちょうど私達は、Linux(または他のOS)のために書いているコントローラ用のデバイスドライバを書くことは同じであるかどうかを知りたいですか?
また、誰もが同じのためのチュートリアルを構築するいくつかのオンラインのデバイスドライバを提案することができます..?
おかげで、
解決
、その後、マイクロコントローラのほとんどは、今日のネイティブドライバに依存しているデフォルトのクラスを実装します。
具体例:
あなたはPIC18F4555を使用している場合、あなたは、マイクロコントローラと通信するために定期的なHID(ヒューマンインタフェースデバイス)Windowsドライバを使用することができます(与えられたあなたはそれを正しく実装されています)。すべてのドライバを開発する必要はありませんん。
他のヒント
MCU用のデバイスドライバを書くのはOSのためにそれを書いてからかなり遠い叫びです。ほとんどのMCUは、すべてでそれら上で動作しているOSを持っていません。あなたは、一般的に、アプリケーション・ソフトウェアが空になってしまいますことを、いくつかの低レベルの割り込みサービスルーチン(ISRの)を書き込むと、バッファがいっぱいになってしまいます。あなたは、O / Sが定義されていることを任意のデバイス・ドライバ・パラダイムに適合する必要はありません。あなたは基本的に(例えばSPI、I2C、UARTなど)あなたとのインターフェイスに欠けているデバイスのデータシートを読み、読み、それを使用する可能性がありますインターフェイスどんなの上にそのメモリへの書き込みする必要があります。最終的にはデバイス・ドライバは、アプリケーションソフトウェアへの直感的な関数呼び出しを提供するべきである。
あなたはVUSB( httpsを使用することができます/ /www.obdev.at/products/vusb/index.html の)任意のHID及びD +とのデジタルI / OポートにUSBのD-ピンを接続することにより、ハンドル割り込みを持たないMCU用MCU。 atmegaU2パッケージは、独自のUSB通信ポートやHIDを持っています。