6/23 23:40 追記
なななな、なんてエントリーをだしてるんだ・・・
よく考えたら、オプションでない本命の課題と内容がかぶっていました。
つまり、そういうことに気付かずに趣味レベルに落としてブログで「こうだよ~」と言っていたら、その流れがレポートの内容そのものになりかねなくて、それは私自身も困ります。
というわけで、ヒントになる部分は伏せました。どうでもいい部分も伏せていますが。
まぁ、探せばたぶん私が扱ったものと同じWindowsさんでデバイスドライバを作るためのキットが出てくると思います。いや、これがレポートに必要なものかどうかは知りませんが。
というわけで、水面下で紹介ページを作成しつつ(たしかブログの設定にも非公開設定があったな)、レポートの提出が終わる8月ごろに続きを書きます、いや、書くつもりです、あ、書くかもしれません。
USB機器のWindows(Vista)向けデバイスドライバをビルドしてみましょうというのが今回のオプション課題。
小さなプログラムならC言語をはじめ、ちょくちょくと手を出してきましたが、デバイスドライバは今回が初めてです。
サンプルプログラムを見てみても、う~ん、何が何だか。
ちょっとした動作をさせるにも、1か月で完成させるのはとてもじゃないけど膨大な時間がかかりそうな気もします。
で、何はともあれ開発環境を導入しないとお話になりません。
いろいろ回り道をしましたが、結局は最初にインストールしたものだけでよかったみたいです。
いや、あればあればで便利なのかもしれませんが、どれも初めて使うツールなだけに、基本操作からしてまず問題が山積みなんですけどね。
説明のドキュメントも英語だし、エラーが出たときにも英語を解読しないといけません。
試行錯誤しつつ、勘を頼りつつ、ない英語の知識をふりしぼってやっとビルドは成功。
サンプルプログラムをビルドして完成したデバイスドライバらしきもののインストールはまだしていません。
インストールして大丈夫なのかという不安があるからなのですが、大丈夫ですよね、何も起こりませんよね。
・・・というか、よくわかっていないようでした。
とりあえず、コレ。

sysファイルが多分デバイスファイル。
ビルド時のメッセージ

の中に、「executable」と書いてあるのは実行可能ファイルのことですよね。
ということは、この中でビルドされた2つの実行可能ファイルは、メッセージを見る限り「usb*.exe」「usb*.sys」の2つ。
両方ともバイナリファイルで、後者はたぶんデバイスドライバ、前者はデバイスドライバを介してデバイスを制御(操作)するプログラムといったところでしょうか。
プログラムもざっとみましたが、イマイチよくわかりません。
・・・ちなみに、開発環境の入れ方とか触れていませんが、私も初日で入れられたとはいえ長時間かけて苦労したので、みなさんも苦労してください。いや、まぁ、何気にヒントは出ていますが。
あぁ・・・というか、まだあまり詳しいことは理解できていないので、教えるレベルじゃないということです。
もう少しいじってみて、わかってきたら書いてみます。
あとは適当なUSB機器でサンプルプログラムの動作をみるということをしてみればいいわけですが・・・ほかにやるべきレポートもあるので今日はこれくらいにしておきます。
課題レベルから趣味レベルにレベルを下げてやると、ちょっとずつでも進めていくことができるのではないかなと期待しつつ、次回はUSB機器をつなげてみたいところですが、はてさて何でやろうか。さすがにUSB機器を設計しようとは思わなんだ。