PCI Expressの開発をしていて、一番苦労を感じたのは、デバイスドライバの開発です
私はカメラを作った時からハードウェアのエンジニアになったので、ソフトの方は新卒から6年過ごした会社での経験しかないので、そこからのソフトウェアの知識のアップデートがあまりありません。
なので、デバイスドライバの開発はかなりハードルが高かったし、実際には上澄みを舐めた程度の事しかやっていません。
PCIボードを作った時はデバイスドライバを開発していないのに
何故、今になってデバイスドライバを開発する必要が出てきたかと言うと
PCI Expressの頃からWindowsのアップデートが始まります
当初Windows2000だったのですが、このころから徐々にWindowsXPに切り替わっていきます。それを機に、DriverStudioと言うソフトが終息すると、ドライバーを開発してくれていた会社が開発を辞めてしまいました。
次のボードを開発する事が私の食い扶持なので、あの人が辞めたからできませんとか、これが無いからできませんとか言い訳している暇はないので、どの様に開発するかを調べます。
真っ先に頼ったのは、PCI ExpressのIPコアを購入する予定の会社PLD Applicationsさんでした。
ここの営業のKさんは、色々と教えて下さいました。
Windowsのドライバー開発にはWinDriverと言うソフトが必要だという事がわかりました。
WinDriverを調べて、ダウンロードしました
PLD Applicationsのサンプルコードがあったので、そのまま使って
ところどころ変更しながら見ていく訳ですが
WinDriverの試用期間が1ヶ月しか持ちません
でも1ヶ月でドライバの開発なんて出来る訳もなく
どうしたかと言うと、開発用PCの時計を毎週1週間巻き戻していました
実際にサンプルのカメラが動くようになるまで(1年くらい)ずっと続けました
褒められた手段ではありませんが、最終的にはちゃんと購入したので
許して下さい